Extensibility

How each markup language can be extended with new tags, syntax, or semantics.

HTML

Extended primarily through the living HTML Living Standard adding new tags over time, plus custom elements (Web Components) that let authors define their own tags with custom behavior.

XML

Designed to be extended by anyone — arbitrary custom tags are valid by default, with namespaces (xmlns) preventing collisions and DTDs/XML Schema optionally defining and validating a specific vocabulary (like XHTML, SVG, or RSS).

Markdown

Has no official extension mechanism; the base spec is intentionally minimal, so “flavors” (GitHub Flavored Markdown, MDX, CommonMark with extensions) each bolt on their own additions like tables, footnotes, or embedded components.

AsciiDoc

Extensible through the Asciidoctor toolchain’s macros, extensions API, and custom block/inline processors, giving it a more formal plugin story than Markdown’s community-driven flavors.

reStructuredText

Extensible through custom “directives” and “roles” that tools like Sphinx register, allowing domain-specific constructs (like code cross-references or admonitions) to be added in a structured, documented way.

LaTeX

Highly extensible through its package system (CTAN), where packages add new commands, environments, and entire capabilities (bibliographies, graphics, custom fonts) on top of the core TeX engine.