AsciiDoctype HTML5 Node Gallery

A live, end-to-end interactive showcase of all 39 AsciiDoc ASG node structures rendered via AsciiDoctype into HTML5. Built with 100% pure HTML5 and Vanilla CSS3 without JavaScript or external frameworks.

⚡ 100% Pure HTML5 / CSS3 🛡️ Zero JavaScript / TypeScript 🎯 All 39 ASG Node Types 📐 Target: HTML5 → View XHTML Gallery
Structure node: document & section

Document Header & Hierarchical Sections

Top-level document structure with title metadata and nested heading levels.

Document

Author Name author@example.org

v2.4, 2026-08-15

System Architecture Overview

This section outlines the primary architectural components of the pipeline.

Rendering Subsystem

The rendering subsystem transforms semantic graphs into accessible markup.

= Technical Specification & Architecture Manual
Author Name <author@example.org>
v2.4, 2026-08-15

== System Architecture Overview
This section outlines the primary architectural components of the pipeline.

=== Rendering Subsystem
The rendering subsystem transforms semantic graphs into accessible markup.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 2,
      "col": 1
    },
    {
      "line": 9,
      "col": 74
    }
  ],
  "blocks": [
    {
      "name": "section",
      "type": "block",
      "level": 0,
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 2,
              "col": 1
            },
            {
              "line": 2,
              "col": 31
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 2,
                  "col": 1
                },
                {
                  "line": 2,
                  "col": 13
                }
              ],
              "value": "Author Name "
            },
            {
              "name": "ref",
              "type": "inline",
              "location": [
                {
                  "line": 2,
                  "col": 14
                },
                {
                  "line": 2,
                  "col": 31
                }
              ],
              "variant": "link",
              "target": "mailto:author@example.org",
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "value": "author@example.org"
                }
              ],
              "attributes": {
                "role": "bare"
              }
            }
          ]
        },
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 16
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 3,
                  "col": 16
                }
              ],
              "value": "v2.4, 2026-08-15"
            }
          ]
        },
        {
          "name": "section",
          "type": "block",
          "level": 1,
          "blocks": [
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 6,
                  "col": 1
                },
                {
                  "line": 6,
                  "col": 75
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 6,
                      "col": 1
                    },
                    {
                      "line": 6,
                      "col": 75
                    }
                  ],
                  "value": "This section outlines the primary architectural components of the pipeline."
                }
              ]
            },
            {
              "name": "section",
              "type": "block",
              "level": 2,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 9,
                      "col": 1
                    },
                    {
                      "line": 9,
                      "col": 74
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 9,
                          "col": 1
                        },
                        {
                          "line": 9,
                          "col": 74
                        }
                      ],
                      "value": "The rendering subsystem transforms semantic graphs into accessible markup."
                    }
                  ]
                }
              ],
              "title": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 8,
                      "col": 5
                    },
                    {
                      "line": 8,
                      "col": 23
                    }
                  ],
                  "value": "Rendering Subsystem"
                }
              ]
            }
          ],
          "title": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 5,
                  "col": 4
                },
                {
                  "line": 5,
                  "col": 31
                }
              ],
              "value": "System Architecture Overview"
            }
          ]
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 3
            },
            {
              "line": 1,
              "col": 47
            }
          ],
          "value": "Technical Specification & Architecture Manual"
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <section class="adoc-section level-0"><div class="section-blocks"><p>Author Name <a href="mailto:author@example.org" class="bare">author@example.org</a>
</p><p>v2.4, 2026-08-15</p><section class="adoc-section level-1"><h2>System Architecture Overview</h2><div class="section-blocks"><p>This section outlines the primary architectural components of the pipeline.</p><section class="adoc-section level-2"><h3>Rendering Subsystem</h3><div class="section-blocks"><p>The rendering subsystem transforms semantic graphs into accessible markup.</p></div></section>
</div></section>
</div></section>

    </div>
    
</body>
</html>
Structure node: floatingTitle

Discrete / Floating Title

Out-of-hierarchy heading rendered as an unindexed discrete section header.

Document

Component Interface Summary

This standalone heading does not increment chapter numbers or generate TOC entries.

[discrete]
=== Component Interface Summary
This standalone heading does not increment chapter numbers or generate TOC entries.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 3,
      "col": 83
    }
  ],
  "blocks": [
    {
      "name": "floatingTitle",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 11
        }
      ],
      "level": 2,
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 2,
              "col": 5
            },
            {
              "line": 2,
              "col": 31
            }
          ],
          "value": "Component Interface Summary"
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 2,
              "col": 5
            },
            {
              "line": 2,
              "col": 31
            }
          ],
          "value": "Component Interface Summary"
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 83
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 83
            }
          ],
          "value": "This standalone heading does not increment chapter numbers or generate TOC entries."
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    
    
    <h3 class="discrete">Component Interface Summary</h3>
    
    
    

<p>This standalone heading does not increment chapter numbers or generate TOC entries.</p>
    </div>
    
</body>
</html>
Blocks node: paragraph

Standard Paragraph with Role Attributes

Standard textual body block supporting custom typography roles and inline formatting.

Document

AsciiDoc is a human-readable text document format for writing technical documents.

Paragraphs flow naturally with automatic word wrapping and full inline markup support.

[.lead]
AsciiDoc is a human-readable text document format for writing technical documents.

Paragraphs flow naturally with automatic word wrapping and full inline markup support.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 4,
      "col": 86
    }
  ],
  "blocks": [
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 2,
          "col": 82
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 2,
              "col": 1
            },
            {
              "line": 2,
              "col": 82
            }
          ],
          "value": "AsciiDoc is a human-readable text document format for writing technical documents."
        }
      ],
      "attributes": {
        "role": "lead"
      }
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 4,
          "col": 1
        },
        {
          "line": 4,
          "col": 86
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 4,
              "col": 1
            },
            {
              "line": 4,
              "col": 86
            }
          ],
          "value": "Paragraphs flow naturally with automatic word wrapping and full inline markup support."
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <p class="lead">AsciiDoc is a human-readable text document format for writing technical documents.</p><p>Paragraphs flow naturally with automatic word wrapping and full inline markup support.</p>
    </div>
    
</body>
</html>
Blocks node: admonitions

Semantic Admonition Blocks

Callout panels for notes, tips, warnings, and caution directives.

Document

AsciiDoctype renders headless HTML5 and XHTML with zero runtime dependencies.

Always run pre-commit quality checks before pushing changes.

Ensure all templates are audited for HTML entity escaping safety.

Misplaced structure directives can bypass automatic XSS sanitization.

[NOTE]
====
AsciiDoctype renders headless HTML5 and XHTML with zero runtime dependencies.
====

[TIP]
====
Always run pre-commit quality checks before pushing changes.
====

[IMPORTANT]
====
Ensure all templates are audited for HTML entity escaping safety.
====

[WARNING]
====
Misplaced `structure` directives can bypass automatic XSS sanitization.
====
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 19,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "admonition",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 4,
          "col": 4
        }
      ],
      "variant": "note",
      "form": "delimited",
      "delimiter": "====",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 77
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 3,
                  "col": 77
                }
              ],
              "value": "AsciiDoctype renders headless HTML5 and XHTML with zero runtime dependencies."
            }
          ]
        }
      ]
    },
    {
      "name": "admonition",
      "type": "block",
      "location": [
        {
          "line": 6,
          "col": 1
        },
        {
          "line": 9,
          "col": 4
        }
      ],
      "variant": "tip",
      "form": "delimited",
      "delimiter": "====",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 8,
              "col": 1
            },
            {
              "line": 8,
              "col": 60
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 8,
                  "col": 1
                },
                {
                  "line": 8,
                  "col": 60
                }
              ],
              "value": "Always run pre-commit quality checks before pushing changes."
            }
          ]
        }
      ]
    },
    {
      "name": "admonition",
      "type": "block",
      "location": [
        {
          "line": 11,
          "col": 1
        },
        {
          "line": 14,
          "col": 4
        }
      ],
      "variant": "important",
      "form": "delimited",
      "delimiter": "====",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 13,
              "col": 1
            },
            {
              "line": 13,
              "col": 65
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 13,
                  "col": 1
                },
                {
                  "line": 13,
                  "col": 65
                }
              ],
              "value": "Ensure all templates are audited for HTML entity escaping safety."
            }
          ]
        }
      ]
    },
    {
      "name": "admonition",
      "type": "block",
      "location": [
        {
          "line": 16,
          "col": 1
        },
        {
          "line": 19,
          "col": 4
        }
      ],
      "variant": "warning",
      "form": "delimited",
      "delimiter": "====",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 18,
              "col": 1
            },
            {
              "line": 18,
              "col": 71
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 18,
                  "col": 1
                },
                {
                  "line": 18,
                  "col": 10
                }
              ],
              "value": "Misplaced "
            },
            {
              "name": "span",
              "type": "inline",
              "location": [
                {
                  "line": 18,
                  "col": 11
                },
                {
                  "line": 18,
                  "col": 21
                }
              ],
              "variant": "code",
              "form": "constrained",
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 18,
                      "col": 12
                    },
                    {
                      "line": 18,
                      "col": 20
                    }
                  ],
                  "value": "structure"
                }
              ]
            },
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 18,
                  "col": 22
                },
                {
                  "line": 18,
                  "col": 71
                }
              ],
              "value": " directives can bypass automatic XSS sanitization."
            }
          ]
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    <div class="admonitionblock note">
        
        <div class="content">
            <p>AsciiDoctype renders headless HTML5 and XHTML with zero runtime dependencies.</p>
        </div>
    </div>


    <div class="admonitionblock tip">
        
        <div class="content">
            <p>Always run pre-commit quality checks before pushing changes.</p>
        </div>
    </div>


    <div class="admonitionblock important">
        
        <div class="content">
            <p>Ensure all templates are audited for HTML entity escaping safety.</p>
        </div>
    </div>


    <div class="admonitionblock warning">
        
        <div class="content">
            <p>Misplaced <code>structure</code> directives can bypass automatic XSS sanitization.</p>
        </div>
    </div>


    </div>
    
</body>
</html>
Blocks node: sidebar

Sidebar Aside Block

Auxiliary informational content visually separated from primary article flow.

Document
AsciiDoc Design Philosophy

AsciiDoc separates semantic structure from visual presentation, enabling a single master document to compile into HTML5, EPUB, PDF, and XHTML.

.AsciiDoc Design Philosophy
****
AsciiDoc separates semantic structure from visual presentation, enabling a single master document to compile into HTML5, EPUB, PDF, and XHTML.
****
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 4,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "sidebar",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 4,
          "col": 4
        }
      ],
      "form": "delimited",
      "delimiter": "****",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 142
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 3,
                  "col": 142
                }
              ],
              "value": "AsciiDoc separates semantic structure from visual presentation, enabling a single master document to compile into HTML5, EPUB, PDF, and XHTML."
            }
          ]
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 2
            },
            {
              "line": 1,
              "col": 27
            }
          ],
          "value": "AsciiDoc Design Philosophy"
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    <div class="sidebarblock">
        <div class="title">
            AsciiDoc Design Philosophy
        </div>
        <div class="content">
            <p>AsciiDoc separates semantic structure from visual presentation, enabling a single master document to compile into HTML5, EPUB, PDF, and XHTML.</p>
        </div>
    </div>


    </div>
    
</body>
</html>
Blocks node: quote & verse

Blockquote & Poetic Verse

Attributed quotes and whitespace-preserving poetic stanzas.

Document

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

Antoine de Saint-Exupéry
Airman's Odyssey

Two roads diverged in a yellow wood, And sorry I could not travel both And be one traveler, long I stood And looked down one as far as I could.

Robert Frost
The Road Not Taken
[quote, Antoine de Saint-Exupéry, Airman's Odyssey]
____
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
____

[verse, Robert Frost, The Road Not Taken]
____
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could.
____
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 12,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "quote",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 4,
          "col": 4
        }
      ],
      "form": "delimited",
      "delimiter": "____",
      "attribution": "Antoine de Saint-Exup\u00e9ry",
      "citetitle": "Airman's Odyssey",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 107
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 3,
                  "col": 107
                }
              ],
              "value": "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
            }
          ]
        }
      ],
      "attributes": {
        "style": "quote"
      }
    },
    {
      "name": "verse",
      "type": "block",
      "location": [
        {
          "line": 6,
          "col": 1
        },
        {
          "line": 12,
          "col": 4
        }
      ],
      "form": "delimited",
      "delimiter": "____",
      "attribution": "Robert Frost",
      "citetitle": "The Road Not Taken",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 8,
              "col": 1
            },
            {
              "line": 11,
              "col": 38
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 8,
                  "col": 1
                },
                {
                  "line": 11,
                  "col": 38
                }
              ],
              "value": "Two roads diverged in a yellow wood,\nAnd sorry I could not travel both\nAnd be one traveler, long I stood\nAnd looked down one as far as I could."
            }
          ]
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <div class="quoteblock"><blockquote><p>Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.</p></blockquote><div class="attribution">&#8212; <span class="author">Antoine de Saint-Exupéry</span><span class="citetitle"><br /><cite>Airman's Odyssey</cite></span></div></div>
<div class="verseblock"><pre class="content"><p>Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could.</p></pre><div class="attribution">&#8212; <span class="author">Robert Frost</span><span class="citetitle"><br /><cite>The Road Not Taken</cite></span></div></div>

    </div>
    
</body>
</html>
Blocks node: example & open

Example Container & Generic Open Block

Numbered example blocks and nested heterogeneous open wrapper containers.

Document
AsciiDoc Variable Binding Example

Variables in AsciiDoc are declared with attribute colons, e.g. ` :version: 1.0.0 `.

Generic Open Wrapper Container

An open block groups multiple heterogeneous blocks under a single structural container.

Open blocks do not enforce rigid semantic rules, making them versatile layout wrappers.

  • First nested container feature
  • Second nested container feature
.AsciiDoc Variable Binding Example
====
Variables in AsciiDoc are declared with attribute colons, e.g. `pass:[:version: 1.0.0]`.
====

[open]
.Generic Open Wrapper Container
~~~~
An open block groups multiple heterogeneous blocks under a single structural container.

[NOTE]
====
Open blocks do not enforce rigid semantic rules, making them versatile layout wrappers.
====

* First nested container feature
* Second nested container feature
~~~~
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 18,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "example",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 4,
          "col": 4
        }
      ],
      "form": "delimited",
      "delimiter": "====",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 88
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 3,
                  "col": 64
                }
              ],
              "value": "Variables in AsciiDoc are declared with attribute colons, e.g. `"
            },
            {
              "name": "passthrough",
              "type": "inline",
              "location": [
                {
                  "line": 3,
                  "col": 71
                },
                {
                  "line": 3,
                  "col": 85
                }
              ],
              "form": "macro",
              "value": ":version: 1.0.0"
            },
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 87
                },
                {
                  "line": 3,
                  "col": 88
                }
              ],
              "value": "`."
            }
          ]
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 2
            },
            {
              "line": 1,
              "col": 34
            }
          ],
          "value": "AsciiDoc Variable Binding Example"
        }
      ]
    },
    {
      "name": "open",
      "type": "block",
      "location": [
        {
          "line": 6,
          "col": 1
        },
        {
          "line": 18,
          "col": 4
        }
      ],
      "form": "delimited",
      "delimiter": "~~~~",
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "location": [
            {
              "line": 9,
              "col": 1
            },
            {
              "line": 9,
              "col": 87
            }
          ],
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 9,
                  "col": 1
                },
                {
                  "line": 9,
                  "col": 87
                }
              ],
              "value": "An open block groups multiple heterogeneous blocks under a single structural container."
            }
          ]
        },
        {
          "name": "admonition",
          "type": "block",
          "location": [
            {
              "line": 11,
              "col": 1
            },
            {
              "line": 14,
              "col": 4
            }
          ],
          "variant": "note",
          "form": "delimited",
          "delimiter": "====",
          "blocks": [
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 13,
                  "col": 1
                },
                {
                  "line": 13,
                  "col": 87
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 13,
                      "col": 1
                    },
                    {
                      "line": 13,
                      "col": 87
                    }
                  ],
                  "value": "Open blocks do not enforce rigid semantic rules, making them versatile layout wrappers."
                }
              ]
            }
          ]
        },
        {
          "name": "list",
          "type": "block",
          "location": [
            {
              "line": 16,
              "col": 1
            },
            {
              "line": 17,
              "col": 33
            }
          ],
          "variant": "unordered",
          "marker": "*",
          "items": [
            {
              "name": "listItem",
              "type": "block",
              "location": [
                {
                  "line": 16,
                  "col": 1
                },
                {
                  "line": 16,
                  "col": 32
                }
              ],
              "marker": "*",
              "principal": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 16,
                      "col": 3
                    },
                    {
                      "line": 16,
                      "col": 32
                    }
                  ],
                  "value": "First nested container feature"
                }
              ],
              "blocks": []
            },
            {
              "name": "listItem",
              "type": "block",
              "location": [
                {
                  "line": 17,
                  "col": 1
                },
                {
                  "line": 17,
                  "col": 33
                }
              ],
              "marker": "*",
              "principal": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 17,
                      "col": 3
                    },
                    {
                      "line": 17,
                      "col": 33
                    }
                  ],
                  "value": "Second nested container feature"
                }
              ],
              "blocks": []
            }
          ]
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 7,
              "col": 2
            },
            {
              "line": 7,
              "col": 31
            }
          ],
          "value": "Generic Open Wrapper Container"
        }
      ],
      "attributes": {
        "style": "open"
      }
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    <div class="exampleblock">
        <div class="title">
            AsciiDoc Variable Binding Example
        </div>
        <div class="content">
            <p>Variables in AsciiDoc are declared with attribute colons, e.g. `
    
    
        
        :version: 1.0.0
    


`.</p>
        </div>
    </div>


    <div class="openblock">
        <div class="title">
            Generic Open Wrapper Container
        </div>
        <div class="content">
            <p>An open block groups multiple heterogeneous blocks under a single structural container.</p>
    <div class="admonitionblock note">
        
        <div class="content">
            <p>Open blocks do not enforce rigid semantic rules, making them versatile layout wrappers.</p>
        </div>
    </div>

<ul class="ulist"><li>First nested container feature</li>
<li>Second nested container feature</li>
</ul>

        </div>
    </div>


    </div>
    
</body>
</html>
Blocks node: collapsible

Interactive Collapsible / Accordion Block

Native HTML5 <details> / <summary> expandable drawer.

Document
Click here to view advanced configuration parameters
  • strict: Enforces fail-fast validation on all nodes.
  • max_depth: Maximum recursion limit (default: 500).
  • validate_templates: Audits custom themes on startup.
[%collapsible]
.Click here to view advanced configuration parameters
====
* *strict*: Enforces fail-fast validation on all nodes.
* *max_depth*: Maximum recursion limit (default: 500).
* *validate_templates*: Audits custom themes on startup.
====
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 7,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "collapsible",
      "type": "block",
      "blocks": [
        {
          "name": "list",
          "type": "block",
          "location": [
            {
              "line": 4,
              "col": 1
            },
            {
              "line": 6,
              "col": 56
            }
          ],
          "variant": "unordered",
          "marker": "*",
          "items": [
            {
              "name": "listItem",
              "type": "block",
              "location": [
                {
                  "line": 4,
                  "col": 1
                },
                {
                  "line": 6,
                  "col": 56
                }
              ],
              "marker": "*",
              "principal": [
                {
                  "name": "span",
                  "type": "inline",
                  "location": [
                    {
                      "line": 4,
                      "col": 3
                    },
                    {
                      "line": 4,
                      "col": 10
                    }
                  ],
                  "variant": "strong",
                  "form": "constrained",
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 4,
                          "col": 4
                        },
                        {
                          "line": 4,
                          "col": 9
                        }
                      ],
                      "value": "strict"
                    }
                  ]
                },
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 4,
                      "col": 11
                    },
                    {
                      "line": 4,
                      "col": 55
                    }
                  ],
                  "value": ": Enforces fail-fast validation on all nodes."
                }
              ],
              "blocks": []
            },
            {
              "name": "listItem",
              "type": "block",
              "location": [
                {
                  "line": 5,
                  "col": 1
                },
                {
                  "line": 5,
                  "col": 54
                }
              ],
              "marker": "*",
              "principal": [
                {
                  "name": "span",
                  "type": "inline",
                  "location": [
                    {
                      "line": 5,
                      "col": 3
                    },
                    {
                      "line": 5,
                      "col": 13
                    }
                  ],
                  "variant": "strong",
                  "form": "constrained",
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 5,
                          "col": 4
                        },
                        {
                          "line": 5,
                          "col": 12
                        }
                      ],
                      "value": "max_depth"
                    }
                  ]
                },
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 5,
                      "col": 14
                    },
                    {
                      "line": 5,
                      "col": 54
                    }
                  ],
                  "value": ": Maximum recursion limit (default: 500)."
                }
              ],
              "blocks": []
            },
            {
              "name": "listItem",
              "type": "block",
              "location": [
                {
                  "line": 6,
                  "col": 1
                },
                {
                  "line": 6,
                  "col": 56
                }
              ],
              "marker": "*",
              "principal": [
                {
                  "name": "span",
                  "type": "inline",
                  "location": [
                    {
                      "line": 6,
                      "col": 3
                    },
                    {
                      "line": 6,
                      "col": 22
                    }
                  ],
                  "variant": "strong",
                  "form": "constrained",
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 6,
                          "col": 4
                        },
                        {
                          "line": 6,
                          "col": 21
                        }
                      ],
                      "value": "validate_templates"
                    }
                  ]
                },
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 6,
                      "col": 23
                    },
                    {
                      "line": 6,
                      "col": 56
                    }
                  ],
                  "value": ": Audits custom themes on startup."
                }
              ],
              "blocks": []
            }
          ]
        }
      ],
      "attributes": {
        "options": "collapsible"
      },
      "title": {
        "name": "title",
        "type": "inline",
        "location": [
          {
            "line": 2,
            "col": 1
          },
          {
            "line": 2,
            "col": 53
          }
        ],
        "inlines": [
          {
            "name": "text",
            "type": "string",
            "location": [
              {
                "line": 2,
                "col": 2
              },
              {
                "line": 2,
                "col": 53
              }
            ],
            "value": "Click here to view advanced configuration parameters"
          }
        ]
      }
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <details class="collapsible">
    <summary class="title">
        
        Click here to view advanced configuration parameters

        
    </summary>
    <div class="content">
        <ul class="ulist"><li><strong>strict</strong>: Enforces fail-fast validation on all nodes.</li>
<li><strong>max_depth</strong>: Maximum recursion limit (default: 500).</li>
<li><strong>validate_templates</strong>: Audits custom themes on startup.</li>
</ul>

    </div>
</details>


    </div>
    
</body>
</html>
Blocks node: listing & literal

Code Listing & Monospaced Literal

Syntax-highlighted code blocks and raw literal text stanzas.

Document
Pipeline Invocation Example
from asciidoctype import AsciiDoctypeRenderer

renderer = AsciiDoctypeRenderer(target_format="html5", strict=True)
html_result = renderer.render(asg_node)
print(html_result)
Configuration payload:
  target_format = html5
  strict = true
[source,python]
.Pipeline Invocation Example
----
from asciidoctype import AsciiDoctypeRenderer

renderer = AsciiDoctypeRenderer(target_format="html5", strict=True)
html_result = renderer.render(asg_node)
print(html_result)
----

....
Configuration payload:
  target_format = html5
  strict = true
....
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 15,
      "col": 37
    }
  ],
  "blocks": [
    {
      "name": "listing",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 9,
          "col": 37
        }
      ],
      "form": "delimited",
      "delimiter": "----",
      "style": "source",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 4,
              "col": 1
            },
            {
              "line": 8,
              "col": 18
            }
          ],
          "value": "from asciidoctype import AsciiDoctypeRenderer\n\nrenderer = AsciiDoctypeRenderer(target_format=\"html5\", strict=True)\nhtml_result = renderer.render(asg_node)\nprint(html_result)"
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 2,
              "col": 2
            },
            {
              "line": 2,
              "col": 28
            }
          ],
          "value": "Pipeline Invocation Example"
        }
      ],
      "attributes": {
        "style": "source",
        "language": "python"
      }
    },
    {
      "name": "literal",
      "type": "block",
      "location": [
        {
          "line": 11,
          "col": 1
        },
        {
          "line": 15,
          "col": 37
        }
      ],
      "form": "delimited",
      "delimiter": "....",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 12,
              "col": 1
            },
            {
              "line": 14,
              "col": 15
            }
          ],
          "value": "Configuration payload:\n  target_format = html5\n  strict = true"
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <div class="listingblock"><div class="title">Pipeline Invocation Example</div><div class="content"><pre class="highlight python"><code class="language-python">from asciidoctype import AsciiDoctypeRenderer

renderer = AsciiDoctypeRenderer(target_format="html5", strict=True)
html_result = renderer.render(asg_node)
print(html_result)</code></pre></div></div>
<div class="literalblock"><div class="content"><pre class="literalblock">Configuration payload:
  target_format = html5
  strict = true</pre></div></div>

    </div>
    
</body>
</html>
Blocks node: stem & passthrough

Mathematical Equations & Raw Passthrough

AsciiMath / LaTeX formulas with MathML compilation and raw HTML pass.

Document
E=mc2andex2dx=π
⚡ Live Passthrough HTML Block with Custom Inline Styling
[latexmath]
++++
E = mc^2 \quad \text{and} \quad \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
++++

[pass]
++++
<div style="padding: 1rem; border-left: 4px solid #3b82f6; background: #eff6ff;">
    ⚡ Live Passthrough HTML Block with Custom Inline Styling
</div>
++++
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 11,
      "col": 41
    }
  ],
  "blocks": [
    {
      "name": "passthrough",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 4,
          "col": 41
        }
      ],
      "form": "delimited",
      "delimiter": "++++",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 80
            }
          ],
          "value": "E = mc^2 \\quad \\text{and} \\quad \\int_{-\\infty}^{\\infty} e^{-x^2} dx = \\sqrt{\\pi}"
        }
      ],
      "attributes": {
        "style": "latexmath"
      }
    },
    {
      "name": "passthrough",
      "type": "block",
      "location": [
        {
          "line": 6,
          "col": 1
        },
        {
          "line": 11,
          "col": 41
        }
      ],
      "form": "delimited",
      "delimiter": "++++",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 8,
              "col": 1
            },
            {
              "line": 10,
              "col": 6
            }
          ],
          "value": "<div style=\"padding: 1rem; border-left: 4px solid #3b82f6; background: #eff6ff;\">\n    \u26a1 Live Passthrough HTML Block with Custom Inline Styling\n</div>"
        }
      ],
      "attributes": {
        "style": "pass"
      }
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    
        <div class="stemblock">
            
            <div class="content">
                <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mrow><mi>E</mi><mo>&#x0003D;</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup><mspace width="1em" /><mtext>and</mtext><mspace width="1em" /><msubsup><mo>&#x0222B;</mo><mrow><mo>&#x02212;</mo><mo>&#x0221E;</mo></mrow><mrow><mo>&#x0221E;</mo></mrow></msubsup><msup><mi>e</mi><mrow><mo>&#x02212;</mo><msup><mi>x</mi><mn>2</mn></msup></mrow></msup><mi>d</mi><mi>x</mi><mo>&#x0003D;</mo><msqrt><mrow><mi>&#x003C0;</mi></mrow></msqrt></mrow></math>
                
            </div>
        </div>
    
    



    
    
        
            
                <div style="padding: 1rem; border-left: 4px solid #3b82f6; background: #eff6ff;">
    ⚡ Live Passthrough HTML Block with Custom Inline Styling
</div>
                
            
        
        
    



    </div>
    
</body>
</html>
Blocks node: thematic_break & page_break

Thematic Breaks & Print Page Dividers

Horizontal thematic dividers and print-targeted page breaks.

Document

Content above the thematic divider.


Content on this page (before print page break).

Content on the following page (after page break).

Content above the thematic divider.

'''

Content on this page (before print page break).

<<<

Content on the following page (after page break).
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 9,
      "col": 49
    }
  ],
  "blocks": [
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 35
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 1
            },
            {
              "line": 1,
              "col": 35
            }
          ],
          "value": "Content above the thematic divider."
        }
      ]
    },
    {
      "name": "thematic_break",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 3
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 5,
          "col": 1
        },
        {
          "line": 5,
          "col": 47
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 5,
              "col": 1
            },
            {
              "line": 5,
              "col": 47
            }
          ],
          "value": "Content on this page (before print page break)."
        }
      ]
    },
    {
      "name": "page_break",
      "type": "block",
      "location": [
        {
          "line": 7,
          "col": 1
        },
        {
          "line": 7,
          "col": 3
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 9,
          "col": 1
        },
        {
          "line": 9,
          "col": 49
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 9,
              "col": 1
            },
            {
              "line": 9,
              "col": 49
            }
          ],
          "value": "Content on the following page (after page break)."
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <p>Content above the thematic divider.</p><hr>
<p>Content on this page (before print page break).</p><div style="break-after: page;"></div>
<p>Content on the following page (after page break).</p>
    </div>
    
</body>
</html>
Tables node: table

Data Tables with Headers and Formatting

Multi-column data grids with headers, role styling, and formatted content.

Document
AsciiDoctype Feature Matrix
FeatureDescriptionStatus

Headless Dispatch

Template routing driven by node metadata

Complete

Dual Backends

Native support for HTML5 and strict XHTML

Complete

Zero JavaScript

100% pure CSS presentation & interactions

Complete

[cols="2,3,2",options="header",role="table-highlight"]
.AsciiDoctype Feature Matrix
|===
|Feature |Description |Status

|Headless Dispatch
|Template routing driven by node metadata
|*Complete*

|Dual Backends
|Native support for HTML5 and strict XHTML
|*Complete*

|Zero JavaScript
|100% pure CSS presentation & interactions
|*Complete*

|===
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 18,
      "col": 4
    }
  ],
  "blocks": [
    {
      "name": "table",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 18,
          "col": 4
        }
      ],
      "columns": [
        {
          "index": 0,
          "width": "28.5714%",
          "halign": "left",
          "valign": "top",
          "style": "default"
        },
        {
          "index": 1,
          "width": "42.8571%",
          "halign": "left",
          "valign": "top",
          "style": "default"
        },
        {
          "index": 2,
          "width": "28.5714%",
          "halign": "left",
          "valign": "top",
          "style": "default"
        }
      ],
      "rows": [
        {
          "name": "row",
          "type": "block",
          "cells": [
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 4,
                  "col": 1
                },
                {
                  "line": 4,
                  "col": 9
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 7
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 7
                        }
                      ],
                      "value": "Feature"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 4,
                  "col": 10
                },
                {
                  "line": 4,
                  "col": 22
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 11
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 11
                        }
                      ],
                      "value": "Description"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 4,
                  "col": 23
                },
                {
                  "line": 5,
                  "col": 1
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 6
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 6
                        }
                      ],
                      "value": "Status"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "row",
          "type": "block",
          "cells": [
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 6,
                  "col": 1
                },
                {
                  "line": 6,
                  "col": 19
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 17
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 17
                        }
                      ],
                      "value": "Headless Dispatch"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 7,
                  "col": 1
                },
                {
                  "line": 7,
                  "col": 42
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 40
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 40
                        }
                      ],
                      "value": "Template routing driven by node metadata"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 8,
                  "col": 1
                },
                {
                  "line": 9,
                  "col": 1
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 10
                    }
                  ],
                  "inlines": [
                    {
                      "name": "span",
                      "type": "inline",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 10
                        }
                      ],
                      "variant": "strong",
                      "form": "constrained",
                      "inlines": [
                        {
                          "name": "text",
                          "type": "string",
                          "location": [
                            {
                              "line": 1,
                              "col": 2
                            },
                            {
                              "line": 1,
                              "col": 9
                            }
                          ],
                          "value": "Complete"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "row",
          "type": "block",
          "cells": [
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 10,
                  "col": 1
                },
                {
                  "line": 10,
                  "col": 15
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 13
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 13
                        }
                      ],
                      "value": "Dual Backends"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 11,
                  "col": 1
                },
                {
                  "line": 11,
                  "col": 43
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 41
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 41
                        }
                      ],
                      "value": "Native support for HTML5 and strict XHTML"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 12,
                  "col": 1
                },
                {
                  "line": 13,
                  "col": 1
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 10
                    }
                  ],
                  "inlines": [
                    {
                      "name": "span",
                      "type": "inline",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 10
                        }
                      ],
                      "variant": "strong",
                      "form": "constrained",
                      "inlines": [
                        {
                          "name": "text",
                          "type": "string",
                          "location": [
                            {
                              "line": 1,
                              "col": 2
                            },
                            {
                              "line": 1,
                              "col": 9
                            }
                          ],
                          "value": "Complete"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "row",
          "type": "block",
          "cells": [
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 14,
                  "col": 1
                },
                {
                  "line": 14,
                  "col": 17
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 15
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 15
                        }
                      ],
                      "value": "Zero JavaScript"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 15,
                  "col": 1
                },
                {
                  "line": 15,
                  "col": 43
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 41
                    }
                  ],
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 41
                        }
                      ],
                      "value": "100% pure CSS presentation & interactions"
                    }
                  ]
                }
              ]
            },
            {
              "name": "cell",
              "type": "block",
              "location": [
                {
                  "line": 16,
                  "col": 1
                },
                {
                  "line": 17,
                  "col": 1
                }
              ],
              "colspan": 1,
              "rowspan": 1,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 10
                    }
                  ],
                  "inlines": [
                    {
                      "name": "span",
                      "type": "inline",
                      "location": [
                        {
                          "line": 1,
                          "col": 1
                        },
                        {
                          "line": 1,
                          "col": 10
                        }
                      ],
                      "variant": "strong",
                      "form": "constrained",
                      "inlines": [
                        {
                          "name": "text",
                          "type": "string",
                          "location": [
                            {
                              "line": 1,
                              "col": 2
                            },
                            {
                              "line": 1,
                              "col": 9
                            }
                          ],
                          "value": "Complete"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 2,
              "col": 2
            },
            {
              "line": 2,
              "col": 28
            }
          ],
          "value": "AsciiDoctype Feature Matrix"
        }
      ],
      "attributes": {
        "cols": "2,3,2",
        "options": "header",
        "role": "table-highlight"
      }
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <table class="tableblock table-highlight"><caption class="title">AsciiDoctype Feature Matrix</caption><colgroup><col style="width: 28.5714%;" /><col style="width: 42.8571%;" /><col style="width: 28.5714%;" /></colgroup><thead><tr><th>Feature</th><th>Description</th><th>Status</th></tr></thead><tbody><tr><td><p>Headless Dispatch</p></td><td><p>Template routing driven by node metadata</p></td><td><p><strong>Complete</strong></p></td></tr><tr><td><p>Dual Backends</p></td><td><p>Native support for HTML5 and strict XHTML</p></td><td><p><strong>Complete</strong></p></td></tr><tr><td><p>Zero JavaScript</p></td><td><p>100% pure CSS presentation &amp; interactions</p></td><td><p><strong>Complete</strong></p></td></tr></tbody></table>

    </div>
    
</body>
</html>
Lists node: list & listItem

Unordered & Ordered Lists

Bulleted and numbered hierarchical item collections.

Document
  • High Performance Processing
  • Zero External Runtime Dependencies
    • Embedded Chameleon ZPT Engine
    • LaTeX to MathML Native Converter
  • Type Checked & Strictly Linted
  1. Parse document source into AST
  2. Resolve AST references into ASG
  3. Dispatch ASG nodes to Chameleon templates
  4. Emit valid HTML5 or XHTML
* High Performance Processing
* Zero External Runtime Dependencies
** Embedded Chameleon ZPT Engine
** LaTeX to MathML Native Converter
* Type Checked & Strictly Linted

. Parse document source into AST
. Resolve AST references into ASG
. Dispatch ASG nodes to Chameleon templates
. Emit valid HTML5 or XHTML
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 10,
      "col": 27
    }
  ],
  "blocks": [
    {
      "name": "list",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 5,
          "col": 32
        }
      ],
      "variant": "unordered",
      "marker": "*",
      "items": [
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 1,
              "col": 1
            },
            {
              "line": 5,
              "col": 32
            }
          ],
          "marker": "*",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 3
                },
                {
                  "line": 1,
                  "col": 29
                }
              ],
              "value": "High Performance Processing"
            }
          ],
          "blocks": []
        },
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 2,
              "col": 1
            },
            {
              "line": 2,
              "col": 36
            }
          ],
          "marker": "*",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 2,
                  "col": 3
                },
                {
                  "line": 2,
                  "col": 36
                }
              ],
              "value": "Zero External Runtime Dependencies"
            }
          ],
          "blocks": [
            {
              "name": "list",
              "type": "block",
              "location": [
                {
                  "line": 3,
                  "col": 1
                },
                {
                  "line": 4,
                  "col": 35
                }
              ],
              "variant": "unordered",
              "marker": "**",
              "items": [
                {
                  "name": "listItem",
                  "type": "block",
                  "location": [
                    {
                      "line": 3,
                      "col": 1
                    },
                    {
                      "line": 4,
                      "col": 35
                    }
                  ],
                  "marker": "**",
                  "principal": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 3,
                          "col": 4
                        },
                        {
                          "line": 3,
                          "col": 32
                        }
                      ],
                      "value": "Embedded Chameleon ZPT Engine"
                    }
                  ],
                  "blocks": []
                },
                {
                  "name": "listItem",
                  "type": "block",
                  "location": [
                    {
                      "line": 4,
                      "col": 1
                    },
                    {
                      "line": 4,
                      "col": 35
                    }
                  ],
                  "marker": "**",
                  "principal": [
                    {
                      "name": "text",
                      "type": "string",
                      "location": [
                        {
                          "line": 4,
                          "col": 4
                        },
                        {
                          "line": 4,
                          "col": 35
                        }
                      ],
                      "value": "LaTeX to MathML Native Converter"
                    }
                  ],
                  "blocks": []
                }
              ]
            }
          ]
        },
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 5,
              "col": 1
            },
            {
              "line": 5,
              "col": 32
            }
          ],
          "marker": "*",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 5,
                  "col": 3
                },
                {
                  "line": 5,
                  "col": 32
                }
              ],
              "value": "Type Checked & Strictly Linted"
            }
          ],
          "blocks": []
        }
      ]
    },
    {
      "name": "list",
      "type": "block",
      "location": [
        {
          "line": 7,
          "col": 1
        },
        {
          "line": 10,
          "col": 27
        }
      ],
      "variant": "ordered",
      "marker": ".",
      "items": [
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 7,
              "col": 1
            },
            {
              "line": 7,
              "col": 32
            }
          ],
          "marker": ".",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 7,
                  "col": 3
                },
                {
                  "line": 7,
                  "col": 32
                }
              ],
              "value": "Parse document source into AST"
            }
          ],
          "blocks": []
        },
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 8,
              "col": 1
            },
            {
              "line": 10,
              "col": 27
            }
          ],
          "marker": ".",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 8,
                  "col": 3
                },
                {
                  "line": 8,
                  "col": 33
                }
              ],
              "value": "Resolve AST references into ASG"
            }
          ],
          "blocks": []
        },
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 9,
              "col": 1
            },
            {
              "line": 9,
              "col": 43
            }
          ],
          "marker": ".",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 9,
                  "col": 3
                },
                {
                  "line": 9,
                  "col": 43
                }
              ],
              "value": "Dispatch ASG nodes to Chameleon templates"
            }
          ],
          "blocks": []
        },
        {
          "name": "listItem",
          "type": "block",
          "location": [
            {
              "line": 10,
              "col": 1
            },
            {
              "line": 10,
              "col": 27
            }
          ],
          "marker": ".",
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 10,
                  "col": 3
                },
                {
                  "line": 10,
                  "col": 27
                }
              ],
              "value": "Emit valid HTML5 or XHTML"
            }
          ],
          "blocks": []
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <ul class="ulist"><li>High Performance Processing</li>
<li>Zero External Runtime Dependencies<ul class="ulist"><li>Embedded Chameleon ZPT Engine</li>
<li>LaTeX to MathML Native Converter</li>
</ul>
</li>
<li>Type Checked &amp; Strictly Linted</li>
</ul>
<ol class="olist"><li>Parse document source into AST</li>
<li>Resolve AST references into ASG</li>
<li>Dispatch ASG nodes to Chameleon templates</li>
<li>Emit valid HTML5 or XHTML</li>
</ol>

    </div>
    
</body>
</html>
Lists node: descriptionList

Description / Definition Lists with Continuation

Term-and-definition glossary structures with multiple continued paragraphs.

Document
AST (Abstract Syntax Tree)

Raw hierarchical parse tree generated directly by Lark grammar rules.

It preserves concrete syntax tokens and source character offsets before semantic resolution.

ASG (Abstract Semantic Graph)

Resolved, fully cross-referenced semantic graph ready for compilation.

Chameleon

High-speed Python implementation of the Zope Page Template (ZPT) specification.

AST (Abstract Syntax Tree)::
Raw hierarchical parse tree generated directly by Lark grammar rules.
+
It preserves concrete syntax tokens and source character offsets before semantic resolution.

ASG (Abstract Semantic Graph)::
Resolved, fully cross-referenced semantic graph ready for compilation.

Chameleon::
High-speed Python implementation of the Zope Page Template (ZPT) specification.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 10,
      "col": 79
    }
  ],
  "blocks": [
    {
      "name": "descriptionList",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 10,
          "col": 79
        }
      ],
      "items": [
        {
          "name": "descriptionListItem",
          "type": "block",
          "location": [
            {
              "line": 1,
              "col": 1
            },
            {
              "line": 4,
              "col": 92
            }
          ],
          "terms": [
            {
              "name": "descriptionListTerm",
              "type": "inline",
              "location": [
                {
                  "line": 1,
                  "col": 1
                },
                {
                  "line": 1,
                  "col": 28
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 1,
                      "col": 1
                    },
                    {
                      "line": 1,
                      "col": 26
                    }
                  ],
                  "value": "AST (Abstract Syntax Tree)"
                }
              ]
            }
          ],
          "blocks": [
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 2,
                  "col": 1
                },
                {
                  "line": 4,
                  "col": 92
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "value": "Raw hierarchical parse tree generated directly by Lark grammar rules."
                }
              ]
            },
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 2,
                  "col": 1
                },
                {
                  "line": 4,
                  "col": 92
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "value": "It preserves concrete syntax tokens and source character offsets before semantic resolution."
                }
              ]
            }
          ]
        },
        {
          "name": "descriptionListItem",
          "type": "block",
          "location": [
            {
              "line": 6,
              "col": 1
            },
            {
              "line": 7,
              "col": 70
            }
          ],
          "terms": [
            {
              "name": "descriptionListTerm",
              "type": "inline",
              "location": [
                {
                  "line": 6,
                  "col": 1
                },
                {
                  "line": 6,
                  "col": 31
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 6,
                      "col": 1
                    },
                    {
                      "line": 6,
                      "col": 29
                    }
                  ],
                  "value": "ASG (Abstract Semantic Graph)"
                }
              ]
            }
          ],
          "blocks": [
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 7,
                  "col": 1
                },
                {
                  "line": 7,
                  "col": 70
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 7,
                      "col": 1
                    },
                    {
                      "line": 7,
                      "col": 70
                    }
                  ],
                  "value": "Resolved, fully cross-referenced semantic graph ready for compilation."
                }
              ]
            }
          ]
        },
        {
          "name": "descriptionListItem",
          "type": "block",
          "location": [
            {
              "line": 9,
              "col": 1
            },
            {
              "line": 10,
              "col": 79
            }
          ],
          "terms": [
            {
              "name": "descriptionListTerm",
              "type": "inline",
              "location": [
                {
                  "line": 9,
                  "col": 1
                },
                {
                  "line": 9,
                  "col": 11
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 9,
                      "col": 1
                    },
                    {
                      "line": 9,
                      "col": 9
                    }
                  ],
                  "value": "Chameleon"
                }
              ]
            }
          ],
          "blocks": [
            {
              "name": "paragraph",
              "type": "block",
              "location": [
                {
                  "line": 10,
                  "col": 1
                },
                {
                  "line": 10,
                  "col": 79
                }
              ],
              "inlines": [
                {
                  "name": "text",
                  "type": "string",
                  "location": [
                    {
                      "line": 10,
                      "col": 1
                    },
                    {
                      "line": 10,
                      "col": 79
                    }
                  ],
                  "value": "High-speed Python implementation of the Zope Page Template (ZPT) specification."
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <dl class="dlist">
    <dt>AST (Abstract Syntax Tree)</dt>

<dd><p>Raw hierarchical parse tree generated directly by Lark grammar rules.</p><p>It preserves concrete syntax tokens and source character offsets before semantic resolution.</p></dd>
<dt>ASG (Abstract Semantic Graph)</dt>

<dd><p>Resolved, fully cross-referenced semantic graph ready for compilation.</p></dd>
<dt>Chameleon</dt>

<dd><p>High-speed Python implementation of the Zope Page Template (ZPT) specification.</p></dd>

</dl>

    </div>
    
</body>
</html>
Lists node: calloutList & callouts

Code Annotation Callouts

Numbered visual callouts referencing annotated code lines.

Document
renderer = AsciiDoctypeRenderer()1


output = renderer.render(node)2

  1. 1 Initialize the renderer with default HTML5 target.
  2. 2 Execute recursive template compilation on the root node.
[source,python]
----
renderer = AsciiDoctypeRenderer() <1>
output = renderer.render(node)    <2>
----
<1> Initialize the renderer with default HTML5 target.
<2> Execute recursive template compilation on the root node.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 7,
      "col": 60
    }
  ],
  "blocks": [
    {
      "name": "listing",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 5,
          "col": 37
        }
      ],
      "form": "delimited",
      "delimiter": "----",
      "style": "source",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "value": "renderer = AsciiDoctypeRenderer()"
        },
        {
          "name": "callout",
          "type": "inline",
          "value": 1
        },
        {
          "name": "text",
          "type": "string",
          "value": "\noutput = renderer.render(node)"
        },
        {
          "name": "callout",
          "type": "inline",
          "value": 2
        }
      ],
      "attributes": {
        "style": "source",
        "language": "python"
      }
    },
    {
      "name": "calloutList",
      "type": "block",
      "location": [
        {
          "line": 6,
          "col": 2
        },
        {
          "line": 7,
          "col": 60
        }
      ],
      "items": [
        {
          "name": "calloutListItem",
          "type": "block",
          "location": [
            {
              "line": 6,
              "col": 2
            },
            {
              "line": 6,
              "col": 54
            }
          ],
          "marker": "<1>",
          "value": 1,
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 6,
                  "col": 5
                },
                {
                  "line": 6,
                  "col": 54
                }
              ],
              "value": "Initialize the renderer with default HTML5 target."
            }
          ],
          "blocks": []
        },
        {
          "name": "calloutListItem",
          "type": "block",
          "location": [
            {
              "line": 7,
              "col": 2
            },
            {
              "line": 7,
              "col": 60
            }
          ],
          "marker": "<2>",
          "value": 2,
          "principal": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 7,
                  "col": 5
                },
                {
                  "line": 7,
                  "col": 60
                }
              ],
              "value": "Execute recursive template compilation on the root node."
            }
          ],
          "blocks": []
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <div class="listingblock"><div class="content"><pre class="highlight python"><code class="language-python">renderer = AsciiDoctypeRenderer()<i class="conum" data-value="1"><b>1</b></i>


output = renderer.render(node)<i class="conum" data-value="2"><b>2</b></i>

</code></pre></div></div>
<ol class="colist"><li><i class="conum" data-value="1"><b>1</b></i> Initialize the renderer with default HTML5 target.</li>
<li><i class="conum" data-value="2"><b>2</b></i> Execute recursive template compilation on the root node.</li>
</ol>

    </div>
    
</body>
</html>
Inlines node: spans & inline macros

Typography Spans, Badges, Keyboard & Menus

Rich text styling (bold, italic, monospace, mark) and user interface macros.

Document

Inline text with bold emphasis, italic styling, monospace code, highlighted mark, and H2O with x2 formulas.

Press Ctrl Shift S to trigger Save As... via File › Export › PDF .

Learn more at AsciiDoc Language Docs .

Inline text with *bold emphasis*, _italic styling_, `monospace code`, #highlighted mark#, and H~2~O with x^2^ formulas.

Press kbd:[Ctrl+Shift+S] to trigger btn:[Save As...] via menu:File[Export > PDF].

Learn more at https://docs.asciidoctor.org/asciidoc/latest/[AsciiDoc Language Docs].
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 5,
      "col": 84
    }
  ],
  "blocks": [
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 119
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 1
            },
            {
              "line": 1,
              "col": 17
            }
          ],
          "value": "Inline text with "
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 18
            },
            {
              "line": 1,
              "col": 32
            }
          ],
          "variant": "strong",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 19
                },
                {
                  "line": 1,
                  "col": 31
                }
              ],
              "value": "bold emphasis"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 33
            },
            {
              "line": 1,
              "col": 34
            }
          ],
          "value": ", "
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 35
            },
            {
              "line": 1,
              "col": 50
            }
          ],
          "variant": "emphasis",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 36
                },
                {
                  "line": 1,
                  "col": 49
                }
              ],
              "value": "italic styling"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 51
            },
            {
              "line": 1,
              "col": 52
            }
          ],
          "value": ", "
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 53
            },
            {
              "line": 1,
              "col": 68
            }
          ],
          "variant": "code",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 54
                },
                {
                  "line": 1,
                  "col": 67
                }
              ],
              "value": "monospace code"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 69
            },
            {
              "line": 1,
              "col": 70
            }
          ],
          "value": ", "
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 71
            },
            {
              "line": 1,
              "col": 88
            }
          ],
          "variant": "mark",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 72
                },
                {
                  "line": 1,
                  "col": 87
                }
              ],
              "value": "highlighted mark"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 89
            },
            {
              "line": 1,
              "col": 95
            }
          ],
          "value": ", and H"
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 96
            },
            {
              "line": 1,
              "col": 98
            }
          ],
          "variant": "subscript",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 97
                },
                {
                  "line": 1,
                  "col": 97
                }
              ],
              "value": "2"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 99
            },
            {
              "line": 1,
              "col": 106
            }
          ],
          "value": "O with x"
        },
        {
          "name": "span",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 107
            },
            {
              "line": 1,
              "col": 109
            }
          ],
          "variant": "superscript",
          "form": "constrained",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 108
                },
                {
                  "line": 1,
                  "col": 108
                }
              ],
              "value": "2"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 110
            },
            {
              "line": 1,
              "col": 119
            }
          ],
          "value": " formulas."
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 81
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 6
            }
          ],
          "value": "Press "
        },
        {
          "name": "kbd",
          "type": "inline",
          "value": [
            "Ctrl",
            "Shift",
            "S"
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 25
            },
            {
              "line": 3,
              "col": 36
            }
          ],
          "value": " to trigger "
        },
        {
          "name": "button",
          "type": "inline",
          "value": "Save As..."
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 53
            },
            {
              "line": 3,
              "col": 57
            }
          ],
          "value": " via "
        },
        {
          "name": "menu",
          "type": "inline",
          "location": [
            {
              "line": 3,
              "col": 63
            },
            {
              "line": 3,
              "col": 66
            }
          ],
          "menu": "File",
          "items": [
            "Export",
            "PDF"
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 81
            },
            {
              "line": 3,
              "col": 81
            }
          ],
          "value": "."
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 5,
          "col": 1
        },
        {
          "line": 5,
          "col": 84
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 5,
              "col": 1
            },
            {
              "line": 5,
              "col": 14
            }
          ],
          "value": "Learn more at "
        },
        {
          "name": "ref",
          "type": "inline",
          "location": [
            {
              "line": 5,
              "col": 15
            },
            {
              "line": 5,
              "col": 83
            }
          ],
          "variant": "link",
          "target": "https://docs.asciidoctor.org/asciidoc/latest/",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 1
                },
                {
                  "line": 1,
                  "col": 22
                }
              ],
              "value": "AsciiDoc Language Docs"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 5,
              "col": 84
            },
            {
              "line": 5,
              "col": 84
            }
          ],
          "value": "."
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <p>Inline text with <strong>bold emphasis</strong>, <em>italic styling</em>, <code>monospace code</code>, <mark>highlighted mark</mark>, and H<sub>2</sub>O with x<sup>2</sup> formulas.</p><p>Press <kbd>Ctrl</kbd>
<kbd>Shift</kbd>
<kbd>S</kbd>
 to trigger <b class="button">Save As...</b>
 via <span class="menuseq"><b class="menu">File</b>&#160;&#8250;&#160;<b class="menuitem">Export</b>&#160;&#8250;&#160;<b class="menuitem">PDF</b></span>
.</p><p>Learn more at <a href="https://docs.asciidoctor.org/asciidoc/latest/">AsciiDoc Language Docs</a>
.</p>
    </div>
    
</body>
</html>
Inlines node: ref (footnote)

Footnote References & Endnote List

Numbered footnote citations linking directly to resolved definitions.

Document

AsciiDoctype implements the full ASG rendering contract 1 .

Documents compile into strict XML formats 2 .


1. Validated against AsciiDoctrine test suites.
2. Specifically XHTML 1.0 Strict
AsciiDoctype implements the full ASG rendering contract footnote:[Validated against AsciiDoctrine test suites.].

Documents compile into strict XML formats footnote:[Specifically XHTML 1.0 Strict].
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 3,
      "col": 83
    }
  ],
  "blocks": [
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 112
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 1
            },
            {
              "line": 1,
              "col": 56
            }
          ],
          "value": "AsciiDoctype implements the full ASG rendering contract "
        },
        {
          "name": "ref",
          "type": "inline",
          "location": [
            {
              "line": 1,
              "col": 67
            },
            {
              "line": 1,
              "col": 110
            }
          ],
          "variant": "footnote",
          "target": "",
          "index": 1,
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 1,
                  "col": 67
                },
                {
                  "line": 1,
                  "col": 110
                }
              ],
              "value": "Validated against AsciiDoctrine test suites."
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 112
            },
            {
              "line": 1,
              "col": 112
            }
          ],
          "value": "."
        }
      ]
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 83
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 42
            }
          ],
          "value": "Documents compile into strict XML formats "
        },
        {
          "name": "ref",
          "type": "inline",
          "location": [
            {
              "line": 3,
              "col": 53
            },
            {
              "line": 3,
              "col": 81
            }
          ],
          "variant": "footnote",
          "target": "",
          "index": 2,
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "location": [
                {
                  "line": 3,
                  "col": 53
                },
                {
                  "line": 3,
                  "col": 81
                }
              ],
              "value": "Specifically XHTML 1.0 Strict"
            }
          ]
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 83
            },
            {
              "line": 3,
              "col": 83
            }
          ],
          "value": "."
        }
      ]
    }
  ],
  "footnotes": [
    {
      "id": null,
      "index": 1,
      "text": "Validated against AsciiDoctrine test suites.",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 1,
              "col": 67
            },
            {
              "line": 1,
              "col": 110
            }
          ],
          "value": "Validated against AsciiDoctrine test suites."
        }
      ]
    },
    {
      "id": null,
      "index": 2,
      "text": "Specifically XHTML 1.0 Strict",
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 53
            },
            {
              "line": 3,
              "col": 81
            }
          ],
          "value": "Specifically XHTML 1.0 Strict"
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        <p>AsciiDoctype implements the full ASG rendering contract <sup class="footnote" id="_footnote_1"><a href="#_footnotedef_1">1</a></sup>



.</p><p>Documents compile into strict XML formats <sup class="footnote" id="_footnote_2"><a href="#_footnotedef_2">2</a></sup>



.</p>
    </div>
    <div id="footnotes">
        <hr />
        <div class="footnote" id="_footnotedef_1">
            <a href="#_footnote_1">1</a>. Validated against AsciiDoctrine test suites.
        </div>
        <div class="footnote" id="_footnotedef_2">
            <a href="#_footnote_2">2</a>. Specifically XHTML 1.0 Strict
        </div>
    </div>
</body>
</html>
Media node: image (block & inline)

Images and Visual Assets

Block figures with captions and inline icon images.

Document

You can also embed inline icons within flowing text.

image::https://images.unsplash.com/photo-1518770660439-4636190af475?w=800[Microchip Architecture,800,400]

You can also embed inline image:https://images.unsplash.com/photo-1518770660439-4636190af475?w=40[Chip,20,20] icons within flowing text.
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 3,
      "col": 136
    }
  ],
  "blocks": [
    {
      "name": "image",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 105
        }
      ],
      "form": "macro",
      "target": "https://images.unsplash.com/photo-1518770660439-4636190af475?w=800"
    },
    {
      "name": "paragraph",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 136
        }
      ],
      "inlines": [
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 1
            },
            {
              "line": 3,
              "col": 26
            }
          ],
          "value": "You can also embed inline "
        },
        {
          "name": "image",
          "type": "inline",
          "location": [
            {
              "line": 3,
              "col": 33
            },
            {
              "line": 3,
              "col": 109
            }
          ],
          "form": "macro",
          "target": "https://images.unsplash.com/photo-1518770660439-4636190af475?w=40"
        },
        {
          "name": "text",
          "type": "string",
          "location": [
            {
              "line": 3,
              "col": 110
            },
            {
              "line": 3,
              "col": 136
            }
          ],
          "value": " icons within flowing text."
        }
      ]
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    <div class="imageblock">
        <div class="content">
            <img src="https://images.unsplash.com/photo-1518770660439-4636190af475?w=800" alt="">
        </div>
        
    </div>

<p>You can also embed inline <span class="image-inline"><img class="image-inline" src="https://images.unsplash.com/photo-1518770660439-4636190af475?w=40" alt=""></span>
 icons within flowing text.</p>
    </div>
    
</body>
</html>
Media node: audio & video

Audio & Video Media Players

Native HTML5 multimedia elements with player controls.

Document
video::https://www.w3schools.com/html/mov_bbb.mp4[width=640,options="controls"]

audio::https://www.w3schools.com/html/horse.mp3[options="controls"]
{
  "name": "document",
  "type": "block",
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 3,
      "col": 67
    }
  ],
  "blocks": [
    {
      "name": "video",
      "type": "block",
      "location": [
        {
          "line": 1,
          "col": 1
        },
        {
          "line": 1,
          "col": 79
        }
      ],
      "target": "https://www.w3schools.com/html/mov_bbb.mp4",
      "attributes": {
        "width": "640",
        "options": "controls"
      }
    },
    {
      "name": "audio",
      "type": "block",
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 3,
          "col": 67
        }
      ],
      "target": "https://www.w3schools.com/html/horse.mp3",
      "attributes": {
        "options": "controls"
      }
    }
  ]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <div id="content">
        
    <div class="videoblock">
        
        <div class="content">
            <video src="https://www.w3schools.com/html/mov_bbb.mp4" width="640" controls="controls">
                Your browser does not support the video tag.
            </video>
        </div>
    </div>


    <div class="audioblock">
        
        <div class="content">
            <audio src="https://www.w3schools.com/html/horse.mp3" controls="controls">
                Your browser does not support the audio element.
            </audio>
        </div>
    </div>


    </div>
    
</body>
</html>