# Markdown infos

# Auteurs

Aaron Swartz

John Gruber

# Syntax

Markdown: Syntax : daringfireball.net

Markdown : fr.wikipedia.org

Markdown on GitHub

# 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.

syntax-tree - github.com

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 |
                       +--------------+
1
2
3
4
5
6
7
8
9
10
11

# JavaScript lib

btford/angular-markdown-directive - github.com