Сфинкс и реструктурированный текст - как извлечь Python класс / метод в виде фрагментов? - PullRequest
0 голосов
/ 07 февраля 2020

Я использую VuePress для документации, но иногда точнее форматирую и поддерживаю код Python в reStructured Text.

Как я могу использовать Sphinx и / или reStructured Text для генерации фрагментов html, что я буду позже интегрировать?

Как я могу программно управлять директивами Sphinx autodo c - это, в основном, мой вопрос. В 2003 году я видел кое-что о деталях Sphinx, но как это сделать в настоящее время?

Пример:

указанный файл test.rst :


?
######
.. autoclass:: mymodule.MyClass
    :members:  __init__, process

?
######

И mymodule.py

class MyClass:

    def __init__(self, *args, **kwargs):
        """ init """

    def process(self, f_out : "file"):
        "process"
        print("I am processing")

Я могу сгенерировать html документацию с

sphinx-build -a . ./out

и открыть сгенерированный out / test. html дает мне:

enter image description here

, где интересующая меня часть действительно только:

<dl class="class">
    <dt id="mymodule.MyClass">
        <em class="property">class </em><code class="sig-prename descclassname">mymodule.</code><code
            class="sig-name descname">MyClass</code><span class="sig-paren">(</span><em class="sig-param">*args</em>,
        <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink"
            href="#mymodule.MyClass" title="Permalink to this definition">¶</a></dt>
    <dd>
✂️✂️✂️✂️
    </dd>
</dl>

...