Mathcrowd Lab

Understanding Markdown

Markdown is a lightweight markup language designed to write documents in an easy-to-read and easy-to-write plain text format, which can then be converted into valid XHTML or HTML. It was released in 2004 by John Gruber (writer and UI designer).

Main Purposes

  • Simplify the web page creation process

  • Reduce the interference of HTML tags in the writing process

  • Provide a writing style closer to natural language

Relationship with HTML

  • HTML is the web format supported by browsers, while Markdown is the language used by writers to create documents.

  • Markdown cannot achieve all HTML tags; it only supports some commonly used tags.

Relationship with LaTeX

  • The goal of Markdown is to convert plain text into web content, while LaTeX aims to generate print-standard PDF documents.

  • Some variants of Markdown, such as MMarked, integrate support for LaTeX math formulas, but do not require any LaTeX packages to be installed.

  • In the field of digital publishing, the emergence of Markdown has inherited and extended many of the advantages of LaTeX, while addressing its shortcomings.

Advantages of Markdown

  • Simple and easy to learn: Markdown syntax is simple and intuitive, with a shallow learning curve.

  • Highly readable: Even raw Markdown text has good readability.

  • Content-focused: Using Markdown allows authors to focus on content creation rather than formatting.

  • Version control friendly: As a plain text format, Markdown files are easy to version control.

Various Variants of Markdown

Since the creation of Markdown, many different variants have emerged due to its simple and easy-to-use syntax. These variants expand its functionality while retaining the original simplicity of Markdown, supporting more diverse formatting needs.

  • CommonMark: A standardized Markdown specification aimed at unifying the differences between various Markdown implementations, ensuring cross-platform consistency.

  • GitHub Flavored Markdown: The version of Markdown used by GitHub, which adds support for task lists, tables, syntax highlighting in code blocks, and more.

  • MMarked defines a variant of Markdown that, while compatible with CommonMark syntax, combines the advantages of GFM and adds a large number of math-related syntaxes, such as theorem blocks, solution blocks, and more.