Markup Language Zoo
Markup Language Zoo
A round up of interesting and novel ideas in the design space of markup and templating<br>languages.
by Brett Coulstock.<br>July, 2026.
I recently did a survey of markup langauges, mostly via web searching, and looking<br>at repositories under the “markup-languages” topic on Github.
➡️ Markup-language topic on Github
The more interesting ones I found had some kind of focus or an underlying philosophy.<br>Too many were basically “Markdown is amazing but also it sucks so here's my amazing Incompatible-Markdown-Alike for my personal blog”.
Some of these languages no longer exist, except as pages recorded in the hallowed<br>temple of archive.org.
Here are some of the more interesting ones I happened across.
I'm not going to discuss or mention common ones such as:<br>HTML,<br>Docbook,<br>Dita,<br>TEI,<br>The TeX family,<br>Djot,<br>Gemtext,<br>Typst,<br>Creole et al., or<br>Markdown ad nauseum.
Markup Languages
Listed in alphabetical order.
Aftertext
➡️ Aftertext
An alternative to inline markup … You write some text. After your text, you add<br>your markup instructions with selectors to select the text to markup, one command<br>per line.
Here is a silly another example, with a lot of aftertext.<br>strike a silly<br>italics a lot<br>bold with<br>underline aftertext<br>https://www.example.com Here
Example of Aftertext Markup
Here is a silly another example, with a lot of aftertext.
Aftertext Output
Archie ML
Archie ML
Why You Should Use ArchieML for Your Blog
ArchieML is a structured text format optimized for human writability. It was created<br>at The New York Times to make it easier to write and edit structured text on deadline<br>that could be rendered in web pages, or more specifically, rendered in interactive<br>graphics.
title: Hi, World!<br>description: This is the description of the hello world post.
[+content]<br># A Blog Post with Titles
This is the content of a blog post.
{.object}<br>text: This is a nested object I can add into my content, parsed with some kind of custom component.<br>number: 1<br>{}
{.text}<br>value:<br>\* These are bullet points<br>\* Second bullet point<br>:end<br>{}<br>[]
Example of Archie ML markup
(I do idly wonder if the New York Times is still using this, if it ever really did)
AtJSON
➡️ CondeNast / atjson
Similar to Aftertext, this JSON formatted language decouples the semantic and styling<br>information from the raw content.
“Our goals at Condé Nast are to provide best-in-class content to our readers, and best-in-class<br>tools for our editors. To do this, we need a format that can be rich, extensible,<br>and portable. It is important that the content source provide little ambiguity about<br>how a story should be displayed.”
“… When constructing this format, we chose to separate the original text from the data<br>associated for this purpose. ”
"content": "The best writing anywhere, everywhere.",<br>"annotations": [{<br>type: "-offset-italic",<br>start: 4,<br>end: 8,<br>attributes: {}<br>}]
Example of AtJSON code
This renders as:
The best writing anywhere, everywhere.
cxt
Cxt on Github
Alternate
cxt is an ultra-simple markup language similar in spirit to BBCode, designed to<br>be as easy as possible to parse (for computers and humans) while delivering any features<br>necessary to the CivBoot project
[!]##########################################################################[/]<br>[h1]cxt: text markup for civilization[/]
["][b]Note:[b] This file is created using cxt. To see the source view<br>README.cxt in this directory.[/]
It should not take more than a few minutes to know how to read and write<br>documentation.
cxt is an ultra-simple markup language similar in spirit to @BBCode, designed<br>to be as easy as possible to parse (for computers [i]and[i] humans) while<br>delivering any features necessary to the @CivBoot project.
cxt is designed to:[+]<br>* Make document writing easy.<br>* Make document parsing easy.<br>* Make reading of raw (text) documents easy.<br>* Make consuming structured data from documents easy.<br>[/]
Example of CTX markup
D★Mark
➡️ D★Mark
D★Mark is a language for marking up prose. It facilitates writing semantically meaningful<br>text, without limiting itself to the semantics provided by HTML or Markdown. If you’re<br>a technical writer looking for a flexible markup language, D★Mark might be a good<br>fit.
#para I am a paragraph with an %em{amazing} inline element.
#list[unordered]<br>#item glob patterns<br>#item regular expression patterns<br>#item legacy patterns
Example of D★Mark markup
Frundis
➡️ Frundis: A Semantic Markup Language
frundis is a tool for compiling documents written in the frundis language, a semantic<br>markup language primarily intended for supporting authoring of novels, but also well<br>suited for many other kinds of documents. The frundis tool can export documents to<br>LaTeX, XHTML 5, EPUB, markdown and groff mom.
.\" Table of Contents<br>.Tc<br>.\" A Section (without numbering)<br>.Sh -nonum Overview<br>.\" Call to user defined .frundis macro<br>.frundis<br>is a tool for compiling documents written in the<br>.Lk /man/frundis_syntax-5.html "frundis...