# Markdown infos
# Auteurs
# Syntax
Markdown: Syntax : daringfireball.net
# linters
# textlint
textlint - textlint.github.io
(textlint/textlint - github.com
)
The pluggable natural language linter for text and markdown.
# markdownlint
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
remarkjs/remark - github.com
(remarkjs/remark-lint - github.com
)
Markdown processor powered by plugins based on @unifiedjs (and @vfile, @syntax-tree)
# style-guide
Markdown Style Guide (cirosantilli/markdown-style-guide - github.com
)
Readable and portable Markdown style guide.
# tools
# parsers
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 ecosystem
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 - Parser/Compiler : remark
HTML : - AST : hast - Parser/Compiler : rehype
Natural language : - CST : nlcst - Parser/Compiler : 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 |
+--------------+
2
3
4
5
6
7
8
9
10
11