Github's Documentation Tool - Pandoc
If you are using Github, you may have used the command pandoc. If so, you may have already found the features useful. Pandoc also supports fenced code blocks, syntax highlighting, and Github line breaks. But what is all the fuss about? We'll go over a few features. Here's a quick look at what this handy tool can do for you:
Note that pandoc does not include syntax extensions for Markdown, so you'll have to add the +EXTENSION to the format name. This means that markdown+hard_line_breaks, for example, is a synonym for markdown with hard line breaks. Additionally, pandoc rewrites relative paths to markdown images and links, calculating the directory of the containing file relative to the working directory. In other words, pandoc can handle most Markdown syntax.
Another feature of Pandoc is that it can convert documents between various markup languages. It supports Markdown, ReStructuredText, HTML, and ePub, among others. It also supports Microsoft Word DOCX. For example, you can write a Markdown document in Pandoc and export it into HTML, reStructuredText, and ePub. Those who want to create documentation with multiple formats will find it useful.
Besides using Markdown, pandoc also supports YAML objects. This allows you to include arbitrary information in your document. With -V/-variable option, you can include more than one metadata file. Default values are provided for some variables. For example, if you want to include a YAML object with multiple metadata blocks, you can specify multiple meta-data in one document. Pandoc will ignore the YAML values from a document if they contain underscores.