Как создать горизонтальную линию и пробел между сигнатурами функций в автодоке Sphinx - PullRequest
0 голосов
/ 13 февраля 2020

Я нашел опции sphinx для большей части того, что я хочу сделать, но я не вижу, как вставить пробел и горизонтальную линию между сигнатурами функций при использовании autodo c.

Вот что производит autodo c:

get_all_edges(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_edges

get_all_nodes(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_nodes

get_edge_count(network=None, base_url='http://localhost:1234/v1')
   docstring for get_edge_count

Вот что я пытаюсь получить:

get_all_edges(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_edges

   ------------------------------------------------------------

get_all_nodes(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_nodes

   ------------------------------------------------------------

get_edge_count(network=None, base_url='http://localhost:1234/v1')
   docstring for get_edge_count

... или что-то похожее на это. Я не в восторге от того, имеет ли последняя сигнатура функции конечный разделитель. Может быть, это просто, но я этого не вижу. Спасибо!

К вашему сведению, вот директивы autodo c, которые создали мои сигнатуры функций:

PyCy3.networks module
---------------------

.. automodule:: PyCy3.networks
    :members:
    :undoc-members:
    :show-inheritance:

1 Ответ

0 голосов
/ 14 февраля 2020

Как оказалось, это было не так сложно ... после дня исследований. :)

Ключевые идеи были следующими:

  1. autodo c создает HTML, так что каждая функция имеет class = "function"
  2. class "function" нигде не определено ... это ловушка только для этой цели
  3. можно определить "функцию", используя комбинацию папок _template и _stati c в моей папке do c

Вдохновение для # 3 было здесь: Изменение ширины содержимого темы Sphinx 'Read the Docs'

(I am с использованием readthedocs, поэтому Я не совсем уверен, что это будет работать с командной строкой sphinx.)

В моем случае папка "docs" содержит все мои файлы sphinx. Я создал новые подпапки: "_templates" и "_static / css".

В _templates я создал новый файл "layout. html":

{% extends "!layout.html" %}
{% set css_files = css_files + [ "_static/css/functions.css" ] %}

В _static / css я создал новый файл "functions. css" :

.function {
    border-bottom: 3px solid #d0d0d0;
    padding-bottom: 10px;
    padding-top: 10px;
}

Итак, макет. html расширяет макет по умолчанию. html и вводит мой новый css.

Я думаю, что autodo c создает другие хуки для этого Цель (например, sig-name, sig-paren и sig-param) для различных элементов сигнатуры функции. Вы можете убедиться в этом сами, воспользовавшись инспектором источников страниц Chrome в отладчике веб-страниц.

...