acdc-parser
The implementation here follows from:
- Language Lexicon: nomenclature of elements
- Language Outline: behaviour/layout
- Asciidoctor Language Documentation: behaviour/layout
Features supported
- Document Headers
- Author parsing (first/middle/last name, email)
- Revision info
- Section
- ATX-style (
=markers) - Setext-style (underlined, optional feature)
- Discrete headers
- ATX-style (
- Delimited Block
- Comment
- Example
- Listing
- Literal
- Open
- Sidebar
- Table
- Pass
- Quote
- Verse
- Paragraph
- Bold (constrained & unconstrained)
- Italic (constrained & unconstrained)
- Monospace (constrained & unconstrained)
- Literal Monospace
- Highlight (constrained & unconstrained)
- Subscript / Superscript
- Curved quotes and apostrophes
- Passthrough (inline and macro)
- Image (block and inline)
- Video
- Audio
- Lists
- Ordered
- Unordered
- Description Lists
- Checklist items
- List continuation (
+) - Ancestor list continuation
- Thematic Break
- Page Break
- Tables
- Header and footer rows
- Column formatting (
colsattribute with alignment, width, style) - Cell spanning (colspan
2+|, rowspan.2+|) - Cell duplication (
3*|) - Cell-level alignment (
<|,^|,>|,.<|,.^|,.>|) - Cell-level style (
s|,e|,m|,a|, etc.) - CSV, PSV, DSV formats
- AsciiDoc content in cells (
astyle) - Nested tables (
!===delimiter in AsciiDoc cells)
- Admonition
- Anchors
- Block anchors (
[[id]]) - Inline anchors (
[#id]) - Bibliography anchors (
[[[anchor]]],[[[anchor,label]]])
- Block anchors (
- Attributes
- Document attributes
- Attribute references
-
:leveloffset:for includes - Substitution control (
subswith+quotes,-calloutsmodifiers)
- Titles
- Footnotes (including inline content)
- Cross References
- xref macro
- Shorthand notation (
<<id>>) - Attribute substitution in targets and text
- Links and URLs
- Link macro
- URL detection and autolinks
- Autolink syntax (
<https://...>) - Mailto macro
- Inline Macros
- Button
- Keyboard
- Menu
- Icon
- Pass
- Stem/Math
-
stem:[formula]inline -
latexmath:[...]andasciimath:[...] - Stem blocks
-
- Index terms
- Visible
((term)) - Concealed
(((term,secondary,tertiary)))
- Visible
- Callouts
- Callout markers in source blocks (
<1>,<2>, etc.) - Callout lists
- Callout markers in source blocks (
- Table of contents (
toc::[]macro) - Includes
- Offsets
- Tagged regions (
tag=,tags=, wildcards*/**, negation!tag) -
:leveloffset:adjustment
- Conditionals
- ifdef
- ifndef
- ifeval
- Line breaks (+)
Parser options
- Safe mode -
Safe,Secure,Server,Unsafe - Strict mode - Stricter parsing rules
- Setext headers - Optional feature flag for two-line underlined headers
- Manpage doctype -
doctype=manpagewith derived attributes
See also
- CHANGELOG for detailed feature history and version notes