-
Notifications
You must be signed in to change notification settings - Fork 8
Pipeline: Tree traversal
Giorgio Garofalo edited this page Feb 26, 2025
·
4 revisions
Main packages:
core.ast.iterator
,core.context.hooks
After the function calls have been expanded, the AST is traversed depth-first to gather enriched information about the document, such as:
- Heading hierarchy, used for the table of contents;
- Numbering: each heading, figure, and others is assigned a unique number based on its location in the heading hierarchy;
- Link definition bound to each link reference;
For clear performance reasons, only one traversal is performed during this stage. Each operation can however act independently by attaching its own hook to the tree iterator, which is triggered when nodes of a certain kind are encountered.
See next: Rendering
- Figures
- Image size
- TeX formulas
- Table caption
- Decorative headings
- Alerts (quote types)
- Quotation source
- Page breaks
- Text symbols (text replacement)
- Syntax of a function call
- Declaring functions
- Dynamic typing
- Localization
- Including other Quarkdown files
- Importing external libraries
- Document metadata
- Theme
- Page format
- Page margin content
- Page counter
- Automatic page break
- Numbering
- Table of contents
- Stacks (row, column, grid)
- Container
- Align
- Clip
- Box
- Collapsible
- Whitespace
- Variables
- Optionality
- Math
- Conditional statements
- Loops
- Let
- Destructuring
- String manipulation
- Generators
- String
- Number
- Markdown content
- Boolean
- None
- Enumeration entry
- Iterable
- Dictionary
- Range
- Lambda
- Size(s)
- Color
- Dynamic
- Paper: abstract, definitions, theorems, and more