Markdown
Markdown is a simple markup language that allows simply text formating. It's the base to be
translated in a desired output format, which is mostly HTML. The first release was published in
2004 by John Gruber. Markdown files have their own Content-type text/markdown.
Github uses README.md files in the markdown format to automatically render them as HTML when the directory of the project is displayed or a markdown file itself is displayed. There are many other sites (including Bugzilla, Doxygen, Redit) that support markdown. Even simple chat programs such as Microsoft Teams, Discord, Slack handle markdown.
In this project, all my articles, including this text, is written in markdown. When building the pages the markdown is transformed into HTML pages.
Markdown comes in different flavors. At some point in 2012 a standardisation was attempted which was called CommonMark.
More on the history of markdown can be found at the Wikipedia at https://en.wikipedia.org/wiki/Markdown.
Formatting
Markdown uses simple formating options. Simple examples of formating text are *italic text*
which looks like italic text. This is **emphasized text** and looks like
emphasized text. Headlines can be easily done with preceding # (the number of # stand for the
headline level). Text in backtics is set in a monospaced font (here the red code samples).
There are quite a few options for formatting lists, embed images and tables.
In addition, because markdown is usually transformed into HTML, you even can use HTML in the markdown text. That lets you describe more complicated styling which might not be possible in plain markdown. The drawback is that readability of the markdown text is reduced.
Application
I created a Markdown converter that uses the Showdown library to transform the markdown into HTML. The result can be donwloaded as a HTML file.
I also use Markdown in conjunction with Reveal.js a presentation framework for HTML.
For every major programming language exists a library that can handle markdown. Often there are more that one library that also supports many options so that one can pick the favoured flavor and handling for the markdown text.