-
-
Notifications
You must be signed in to change notification settings - Fork 187
Pipeline: Rendering
Giorgio Garofalo edited this page May 20, 2025
·
7 revisions
Main packages:
core.rendering
Rendering modules:
quarkdown-html
Once the AST is fully generated and enriched, it is time to translate it into a target format, such as HTML.
This is performed via a depth-first traversal of the AST, starting from the root. Each visit to a node produces some output (in the case of HTML, an element tag) which, ideally 1:1, translates the information stored by the node into the target format.
To ensure scalability, Quarkdown locates each rendering target in external modules, such as quarkdown-html
,
which can be plugged into the core architecture.
Example Markdown input:
# Title
This is **bold** and _italic_ text.
- Item 1
- Item 2
Output HTML:
<h1>Title</h1>
<p>This is <strong>bold</strong> and <em>italic</em> text.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
See next: Post-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
- Including other Quarkdown files
- Importing external libraries
- Localization
- Document metadata
- Theme
- CSS
- Fonts
- Page format
- Page margin content
- Page counter
- Automatic page break
- Numbering
- Paragraph style
- Caption position
- Table of contents
- Bibliography
- Stacks (row, column, grid)
- Container
- Align
- Float
- Figure
- Clip
- Box
- Collapsible
- Whitespace
- Variables
- Optionality
- Math
- Conditional statements
- Loops
- Let
- Destructuring
- String manipulation
- Table manipulation: sorting, computing, and more
- Generators
- String
- Number
- Markdown content
- Boolean
- None
- Enumeration entry
- Iterable
- Dictionary
- Range
- Lambda
- Size(s)
- Color
- Dynamic
- Paper: abstract, definitions, theorems, and more