rst2typst.writer module¶
Writer and related classes for docutils.
- class rst2typst.writer.HanglingIndent¶
-
Controller for line prefixes.
This class works to render Typst documents for correctly and human readability.
- class rst2typst.writer.TypstTranslator(document: document)¶
Bases:
NodeVisitor- block_on_structural()¶
- depart_Text(node: Text)¶
- depart_address(node: Bibliographic)¶
- depart_admonition(node: Element)¶
- depart_attention(node: Element)¶
- depart_author(node: Bibliographic)¶
- depart_block_quote(node: block_quote)¶
- depart_bullet_list(node: bullet_list)¶
- depart_caption(node: caption)¶
- depart_caution(node: Element)¶
- depart_classifier(node: classifier)¶
- depart_contact(node: Bibliographic)¶
- depart_copyright(node: Bibliographic)¶
- depart_danger(node: Element)¶
- depart_date(node: Bibliographic)¶
- depart_definition(node: definition)¶
- depart_definition_list(node: definition_list)¶
- depart_definition_list_item(node: definition_list_item)¶
- depart_description(node: description)¶
- depart_docinfo(node: docinfo)¶
- depart_document(node: document)¶
- depart_emphasis(node: Inline)¶
- depart_entry(node: entry)¶
- depart_enumerated_list(node: enumerated_list)¶
- depart_error(node: Element)¶
- depart_field(node: field)¶
- depart_field_body(node: field_body)¶
- depart_field_list(node: field_list)¶
- depart_field_name(node: field_name)¶
- depart_figure(node: figure)¶
- depart_footnote(node: footnote)¶
- depart_footnote_reference(node: footnote_reference)¶
- depart_hint(node: Element)¶
- depart_important(node: Element)¶
- depart_list_item(node: list_item)¶
- depart_literal(node: literal)¶
- depart_literal_block(node: literal_block)¶
- depart_math(node: math)¶
- depart_math_block(node: math)¶
- depart_note(node: Element)¶
- depart_option_list(node: option_list)¶
- depart_option_list_item(node: option_list_item)¶
- depart_organization(node: Bibliographic)¶
- depart_paragraph(node: paragraph)¶
- depart_reference(node: reference)¶
- depart_revision(node: Bibliographic)¶
- depart_row(node: tbody)¶
- depart_section(node: section)¶
- depart_status(node: Bibliographic)¶
- depart_strong(node: Inline)¶
- depart_table(node: table)¶
- depart_tbody(node: tbody)¶
- depart_term(node: term)¶
- depart_tgroup(node: tgroup)¶
- depart_thead(node: tbody)¶
- depart_tip(node: Element)¶
- depart_title(node: title)¶
- depart_version(node: Bibliographic)¶
- depart_warning(node: Element)¶
- departt_row(node: row)¶
- visit_Text(node: Text)¶
- visit_address(node: Bibliographic)¶
- visit_admonition(node: Element)¶
- visit_attention(node: Element)¶
- visit_author(node: Bibliographic)¶
- visit_block_quote(node: block_quote)¶
- visit_bullet_list(node: bullet_list)¶
- visit_caption(node: caption)¶
- visit_caution(node: Element)¶
- visit_classifier(node: classifier)¶
- visit_colspec(node: colspec)¶
- visit_comment(node: comment)¶
- visit_contact(node: Bibliographic)¶
- visit_copyright(node: Bibliographic)¶
- visit_danger(node: Element)¶
- visit_date(node: Bibliographic)¶
- visit_definition(node: definition)¶
- visit_definition_list(node: definition_list)¶
- visit_definition_list_item(node: definition_list_item)¶
- visit_description(node: description)¶
- visit_docinfo(node: docinfo)¶
- visit_document(node: document)¶
- visit_emphasis(node: Inline)¶
- visit_entry(node: entry)¶
- visit_enumerated_list(node: enumerated_list)¶
- visit_error(node: Element)¶
- visit_field(node: field)¶
- visit_field_body(node: field_body)¶
- visit_field_list(node: field_list)¶
- visit_field_name(node: field_name)¶
- visit_figure(node: figure)¶
- visit_footnote(node: footnote)¶
- visit_footnote_reference(node: footnote_reference)¶
- visit_hint(node: Element)¶
- visit_image(node: image)¶
- visit_important(node: Element)¶
- visit_list_item(node: list_item)¶
- visit_literal(node: literal)¶
- visit_literal_block(node: literal_block)¶
- visit_math(node: math)¶
- visit_math_block(node: math)¶
- visit_note(node: Element)¶
- visit_option_group(node: option_group)¶
- visit_option_list(node: option_list)¶
- visit_option_list_item(node: option_list_item)¶
- visit_organization(node: Bibliographic)¶
- visit_paragraph(node: paragraph)¶
- visit_raw(node: raw)¶
- visit_reference(node: reference)¶
- visit_revision(node: Bibliographic)¶
- visit_section(node: section)¶
- visit_status(node: Bibliographic)¶
- visit_strong(node: Inline)¶
- visit_table(node: table)¶
- visit_tbody(node: tbody)¶
- visit_term(node: term)¶
- visit_tgroup(node: tgroup)¶
- visit_thead(node: tbody)¶
- visit_tip(node: Element)¶
- visit_title(node: title)¶
- visit_topic(node: topic)¶
- visit_version(node: Bibliographic)¶
- visit_warning(node: Element)¶
- class rst2typst.writer.Writer¶
Bases:
Writer- config_section = 'typst writer'¶
The name of the config file section specific to this component (lowercase, no brackets). Override in subclasses.
- get_transforms()¶
Transforms required by this class. Override in subclasses.
- settings_defaults = {'page_break_level': [], 'template': PosixPath('/home/runner/work/rst2typst/rst2typst/src/rst2typst/template.txt')}¶
A dictionary of defaults for settings not in settings_spec (internal settings, intended to be inaccessible by command-line and config file). Override in subclasses.
- settings_spec = ('Typst Writer Options', None, (('Section level for page-break', ['--page-break-level'], {'metavar': '<int>(,<int>)', 'validator': <function validate_comma_separated_int>}), ('Template for render code.', ['--template'], {'metavar': '<filepath>'})))¶
Runtime settings specification. Override in subclasses.
Defines runtime settings and associated command-line options, as used by docutils.frontend.OptionParser. This is a tuple of:
Option group title (string or None which implies no group, just a list of single options).
Description (string or None).
A sequence of option tuples. Each consists of:
Help text (string)
List of option strings (e.g.
['-Q', '--quux']).Dictionary of keyword arguments sent to the OptionParser/OptionGroup
add_optionmethod.Runtime setting names are derived implicitly from long option names (’–a-setting’ becomes
settings.a_setting) or explicitly from the ‘dest’ keyword argument.Most settings will also have a ‘validator’ keyword & function. The validator function validates setting values (from configuration files and command-line option arguments) and converts them to appropriate types. For example, the
docutils.frontend.validate_booleanfunction, required by all boolean settings, converts true values (‘1’, ‘on’, ‘yes’, and ‘true’) to 1 and false values (‘0’, ‘off’, ‘no’, ‘false’, and ‘’) to 0. Validators need only be set once per setting. See the docutils.frontend.validate_* functions.See the optparse docs for more details.
More triples of group title, description, options, as many times as needed. Thus, settings_spec tuples can be simply concatenated.
- supported = ('typst',)¶
Name and aliases for this component. Override in subclasses.
- translate()¶
Do final translation of self.document into self.output. Called from write. Override in subclasses.
Usually done with a docutils.nodes.NodeVisitor subclass, in combination with a call to docutils.nodes.Node.walk() or docutils.nodes.Node.walkabout(). The
NodeVisitorsubclass must support all standard elements (listed in docutils.nodes.node_class_names) and possibly non-standard elements used by the current Reader as well.
- visitor_attributes = {'body', 'includes'}¶