acdc-parser 0.3.0

`AsciiDoc` parser using PEG grammars
Documentation

acdc-parser

The implementation here follows from:

Features supported

  • Document Headers
    • Author parsing (first/middle/last name, email)
    • Revision info
  • Section
    • ATX-style (= markers)
    • Setext-style (underlined, optional feature)
    • Discrete headers
  • 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 (cols attribute 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 (a style)
    • Nested tables (!=== delimiter in AsciiDoc cells)
  • Admonition
  • Anchors
    • Block anchors ([[id]])
    • Inline anchors ([#id])
    • Bibliography anchors ([[[anchor]]], [[[anchor,label]]])
  • Attributes
    • Document attributes
    • Attribute references
    • :leveloffset: for includes
    • Substitution control (subs with +quotes, -callouts modifiers)
  • 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:[...] and asciimath:[...]
    • Stem blocks
  • Index terms
    • Visible ((term))
    • Concealed (((term,secondary,tertiary)))
  • Callouts
    • Callout markers in source blocks (<1>, <2>, etc.)
    • Callout lists
  • 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=manpage with derived attributes

See also

  • CHANGELOG for detailed feature history and version notes