A Discussion of Markup Languages

Alex Kladov has a post that discusses various markup languages and what makes a great one. He considers

  • Markdown
  • AsciiDoctor
  • LaTeX
  • reStructuredText
  • HTML

He finds them all lacking in various ways. He believes that any markup that’s tied to a particular target language—he puts Markdown is this category, unfairly I think—is already losing. He believes that the parsing (and syntax) of the input language should be decoupled from the target language and the driver that produces it.

If you look at the above list, you’ll notice a glaring omission: Org mode is missing. That’s too bad because Org meets most of the criteria that Kladov calls out. It’s got a simple, lightweight syntax; it’s tree structured; and has a simple format for links, lists, and tables. Perhaps most importantly for Kladov, Org mode markup syntax is not tied to any particular target language. Indeed, there are several targets and new ones are being added all the time. Even with a given target language, Org mode is flexible and extensible. You can mark some text as belonging to a particular environment with the name of your choice and define the semantic meaning of the environment with CSS or a LaTeX environment who definition you can include in a couple of ways. See this post for details.

Of course, ports notwithstanding, Org is mostly tied to Emacs. Much of the simplicity of writing in Org is because of shortcuts built into Emacs. Regardless, if you want the best and most flexible markup language, you should be using Org. Karl Voit makes a strong case that Org is the superior markup language and I certainly agree. It would have been interesting to see Kladov’s take.

This entry was posted in General and tagged , . Bookmark the permalink.