Markdown is a lightweight markup language that we can use to add formatting elements to plain text documents. Unlike WYSIWYG, we don’t get to see formatting changes immediately. When we create a Markdown-formatted file (which has extension .md or .markdown), we add Markdown syntax to our text to indicate which words and phrases should look different.
Markdown basically targets to generate HTML files or a print-ready document, without having to worry about how text should be formatted/marked-up using HTML.
Markdown files need to have a Markdown application capable of processing the Markdown file. This application takes in our .md file and generates the print ready file. There are online applications also, like Dillinger (https://dillinger.io/) which perform our task on the fly. These applications use something called a Markdown processor/parser to take the Markdown-formatted text and output it into HTML format.
The flow can be better depicted as follows:
There are different CMS like Ghost, and even WordPress(by using Jetpack plugin) and static website generators like Hexo and Jekyll are using Markdown in their implementation.