Markdown: Syntax : daringfireball.net
textlint - textlint.github.io (textlint/textlint - github.com)
The pluggable natural language linter for text and markdown.
igorshubovych/markdownlint-cli with DavidAnson/markdownlint (online parser demo)
A Node.js style checker and lint tool for Markdown/CommonMark files.
No auto fix in markdownlint explanation issue.
remarkjs/remark - github.com (remarkjs/remark-lint - github.com)
Markdown processor powered by plugins based on @unifiedjs (and @vfile, @syntax-tree)
Markdown Style Guide (cirosantilli/markdown-style-guide - github.com)
Readable and portable Markdown style guide.
Markdown parsers comparator - www.npmtrends.com
Choosing the Right Markdown Parser - css-tricks.com - 20160201
GitbookIO/markup-it - github.com
JavaScript library to parse and serialize markup content (Markdown and HTML)
markdown-it/markdown-it - github.com
Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
markedjs/marked - github.com online demo
A markdown parser and compiler. Built for speed.
It can be used to build export in another format, Holi0317/md2bbc example.
unified.js.org unifiedjs on medium.com unifiedjs on twitter.com
unified is an interface for processing text with syntax trees and transforming between them.
The idea is to convert any text documents (markdown, html, natural language, ...) into a syntax-tree to easily achieve 2 ways transformation.
Syntax-trees comes into 2 types :
- Concrete Syntax Tree (CST) (contains everything to recreate the exact representation, tabs numbers, spaces, etc ...)
- Abstract Syntax Tree (AST) (contains just what is needed to recreate exact syntactic representation)
They inherits from unist, a Universal Syntax Tree.
Markdown :
- AST : [mdast](https://github.com/syntax-tree/mdast)
- Parser/Compiler : [remark](https://github.com/remarkjs/remark)
HTML :
- AST : [hast](https://github.com/syntax-tree/hast)
- Parser/Compiler : [rehype](https://github.com/rehypejs/rehype)
Natural language :
- CST : [nlcst](https://github.com/syntax-tree/nlcst)
- Parser/Compiler : [retext](https://github.com/retextjs/retext)
A virtual file format called vfile is used to represent processed documents. It contains the file data, the path, the basename, etc ...
| ....................... process() ......................... |
| ......... parse() ..... | run() | ..... stringify() ....... |
+--------+ +----------+
Input ->- | Parser | ->- Syntax Tree ->- | Compiler | ->- Output
+--------+ | +----------+
X
|
+--------------+
| Transformers |
+--------------+