lib.writers
¶
Docutils writers for Django Docutils, designed for cleaner output.
- class django_docutils.lib.writers.ParentNodeClassTuple(parent_node_type: Type[Node | Body], args: List[str], kwargs: Dict[str, str], close_tag: str | None)[source]¶
Bases:
NamedTuple
Typing for parent node accepting custom arguments.
- _field_defaults = {}¶
- _fields = ('parent_node_type', 'args', 'kwargs', 'close_tag')¶
- class django_docutils.lib.writers.DjangoDocutilsHTMLTranslator(document)[source]¶
Bases:
HTMLTranslator
Django Docutils touchups to docutil’s HTML renderer.
- visit_reference(node)[source]¶
Open reference.
Changes: :rtype:
None
Monkeypatch bugfix https://sourceforge.net/p/docutils/bugs/322/
Add target _blank to offsite urls
Add class offsite for offsite urls
Add class insite for insite urls (note, internal is already used for reference links in the same document)
- visit_title(node)[source]¶
Visit docutils title.
Changes: :rtype:
None
Add backlinks for Contents refid headers
They’re baked inside the Section (parent) of the anchor since we’re using an ad-hoc contents transformation process that builds toc separately from the main content (see templatetags)
s/with-subtitle/subtitle for bulma css
- _visit_section_title(node, close_tag)[source]¶
Our special sauce for section titles.
Extracted from
visit_title()
to reduce complexity.
- class django_docutils.lib.writers.DjangoDocutilsWriter[source]¶
Bases:
Writer
DjangoDocutils’s hand-crafted docutils’ writer.
Example:
>>> DJANGO_DOCUTILS_LIB_RST = { ... 'transforms': [ #: docutils.transforms.Transform class (import string) ... 'django_docutils.lib.transforms.xref.XRefTransform' ... ] ... }