lino.sphinxcontrib.help_texts_extractor

Causes one or several help_texts.py files to be generated after each complete build of the doctree.

See Help Texts for a topic overview.

Internals

This builder traverses the doctree in order to find object descriptions, i.e. text nodes defined by Sphinx and inserted e.g. by the class and attribute directives (which potentially have been inserted by autodoc and autosummary).

Example of a class description:

<desc desctype="class" domain="py" noindex="False" objtype="class">
    <desc_signature class="" first="False" fullname="Plan" ids="..." module="..." names="...">
    <desc_annotation>class </desc_annotation>
        <desc_addname>lino_xl.lib.invoicing.models.</desc_addname>
        <desc_name>Plan</desc_name>
        <desc_parameterlist>
            <desc_parameter>*args</desc_parameter>
            <desc_parameter>**kwargs</desc_parameter>
        </desc_parameterlist>
    </desc_signature>
    <desc_content>
        <paragraph>Bases: <reference internal="False" reftitle="(in Lino v1.7)" refuri="http://www.lino-framework.org/api/lino.modlib.users.mixins.html#lino.modlib.users.mixins.UserAuthored"><literal classes="xref py py-class">lino.modlib.users.mixins.UserAuthored</literal></reference>
        </paragraph>
        <paragraph>An <strong>invoicing plan</strong> is a rather temporary database object which represents the plan of a given user to have Lino generate a series of invoices.
        </paragraph>
        <index entries="..."/>
    <desc desctype="attribute" objtype="attribute">
        <desc_signature class="Plan" first="False" fullname="Plan.user" ids="..." module="..." names="...">
            <desc_name>user</desc_name>
        </desc_signature>
  <desc_content/>
</desc>
<desc desctype="attribute" ... objtype="attribute">
    <desc_signature class="Plan" first="False" fullname="Plan.journal" ids="..." module="..." names="...">
        <desc_name>journal</desc_name>
    </desc_signature>
    <desc_content>
        <paragraph>The journal where to create invoices.  When this field is
        empty, you can fill the plan with suggestions but cannot
        execute the plan.</paragraph>
    </desc_content>
</desc>
...

Example of a field description:

<desc desctype="attribute" domain="py" noindex="False" objtype="attribute">
  <desc_signature class="Plan" first="False" fullname="Plan.journal"
        ids="lino_xl.lib.invoicing.models.Plan.journal"
        module="lino_xl.lib.invoicing.models"
        names="lino_xl.lib.invoicing.models.Plan.journal">
    <desc_name>journal</desc_name>
  </desc_signature>
  <desc_content>
    <paragraph>
      The journal where to create invoices.  When this field is
      empty, you can fill the plan with suggestions but cannot
      execute the plan.
    </paragraph>
  </desc_content>
</desc>

(This module's source code is available here.)

Functions

node2html(node)

setup(app)

Classes

HelpTextExtractor