I love Markdown.
Markdown (md) format is simple, portable across platforms, has some semantic meaning, and can be shared easily. It combines the flexibility of pure text documents with formatting inside viewers that support it. Editing Markdown is easy: just use any text editor. The viewing / rendering support is easy to implement as well.
Here is an example content:
this is a header
This is normal text, some words are in italics, bold, or
Here is the Markdown source for the two lines above:
## this is a header This is normal text, some words are in *italics*, **bold**, or `monospaced`
You can even move long links to the bottom of the page like this
instead of [this link](http://google.com) you can move actual link to [google] to the bottom : http://google.com
The tiny list of places where Markdown took hold:
- github renders .md files by default. Placing a README.md in the project's root folder shows a rendered view by default, see this example. Note how the build badges are rendered as images. I think github did more to promote the organical growth of Markdown than any other factor.
- HTML5 presentation frameworks, for example reveal.js or remark transform markdown content into HMTL5 presentation on load. My own slides-now allows to simply drag and drop a .md file to a browser to play the presentation, no viewer installation software required.
- blogging platforms, for example ghost or calepin that use Markdown by default dramatically simplify the writing process.
- node package manager looks for README.md file inside the package folder, and complains if there is none. It forces the developer to describe the package, even at some rudimentary level.
- You can even use markdown as a templating language
The growing support and acceptance of Markdown is eating the market share of two content formats: unstructured text files and HTML pages. Why spend time writing repeatative tags, worrying about a webserver or browser to render the HTML, when all you need is arrange the text content a little?
var Logdown = require('logdown');
Output: this HAS markdown