- document tree
- created by a
Parser
component (i.e. from reStructuredText input) - manually constructed
- created by a
docutils
componentsReader
: Intended to obtain input and pass it to aParser
.Parser
: Generates a (docutils) document tree from aReader
input. docutils contains only a reStructuredText parser but potentially others may exists (e.g. markdown, html, etc.).Writer
: Turns a document tree into an output (e.g. html, LaTeX).
- other "pieces"
- transforms: Called by a
Parser
for on-the-fly document tree manipulation. - visitors: Operate on an existing document tree (i.e. after parsing). Can collect various information and/or manipulate the document tree.
- roles: ??? https://docutils.sourceforge.io/docs/ref/rst/roles.html (see example that creates a custom
date
role as alternative to adate::
directive https://docutils.sourceforge.io/docs/ref/rst/directives.html#date) - directives: ???
- transforms: Called by a
https://docutils.sourceforge.io/docs/ref/rst/directives.html
Directives have the following syntax:
+-------+-------------------------------+ | ".. " | directive type "::" directive | +-------+ block | | | +-------------------------------+
Examples:
.. image:: /path/to/image.png .. figure:: /path/to/image.png :width: 600px .. note:: This is the note's 1st paragraph that spans multiple lines. This the note's 2nd paragraph. Notes are general blocks and can embed usual markup elements: * text elements with inline markup * list elements * other directives
https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#directives
howto: https://docutils.sourceforge.io/docs/howto/rst-directives.html