Markup Language Zoo

MrVandemar1 pts0 comments

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...

markup language text aftertext example frundis

Related Articles