🖋️
各種軽量マークアップ言語の仕様の調査
目的
各種マークアップ言語の吐く HTML の「正しい」仕様について調べたいときに、困ったので調査した。例えば Pandoc は独自仕様の文書を生成するのでこうゆうときに使い物にならない。
結論の要約
- Markdown → どのフレーバー向けにするかにもよるが、gh markdown-preview を使う。
brew install gh
gh auth login
gh extension install yusukebe/gh-markdown-preview
gh markdown-preview test.md
- Wikitext → Wikipedia:Sandbox で確認する。ローカル環境で確認するのは大変。
- AsciiDoc → AsciiDoctor を使う。
gem install asciidoctor
asciidoctor test.adoc
- reStructuredText → Docutils を使う。
pip install docutils
docutils test.rst test.html
詳細な階層
-
Markdown: 発明者による Perl 実装。
-
CommonMark: 仕様書。
-
GitHub Flavored Markdown: GitHub の README などで使われるマークダウンの正しい仕様書。そんなに詳しくない多くの人はこれを期待していることが多い。
- GitHub Markup: GitHub が使用しているマークダウンを含む各種マークアップ言語ファイルの変換の前処理の実装。
- gh markdown-preview
-
Qiita Markdown
qiita-markdown
Ruby 製。Qiita で使われるマークダウン。 - Zenn Editor TypeScript 製。Zenn で使われるマークダウン。
-
GitHub Flavored Markdown: GitHub の README などで使われるマークダウンの正しい仕様書。そんなに詳しくない多くの人はこれを期待していることが多い。
-
CommonMark: 仕様書。
-
Wikitext: Wikipedia などで使われている。
-
MediaWiki: Wikipedia で使用されている Wiki システムのプロジェクト。使用される Wikitext の仕様は core と Parsoid の実装によって定義されている。
- Wikipedia:Sandbox: 気軽に試すならここ。
-
core: PHP 製。MediaWiki の実装。
- Parser.php: Wikitext から HTML への変換プログラム。
- Parsoid: PHP 製。Wikitext から HTML への変換プログラム。
-
MediaWiki: Wikipedia で使用されている Wiki システムのプロジェクト。使用される Wikitext の仕様は core と Parsoid の実装によって定義されている。
-
AsciiDoc: 個人的なおすすめ軽量マークアップ言語。
-
AsciiDoctor
asciidoctor
: 最も使われている AsciiDoc 処理系。Ruby 製。asciidoctor test.adoc
とするだけ。
-
AsciiDoctor
-
reStructuredText
-
Docutils
docutils
: Python 製。docutils test.rst test.html
とするだけ。- → GitHub Markup
- → Sphinx
-
Docutils
Discussion