2004年、ブロガーのJohn GruberとプログラマーのAaron Swartzが、シンプルな前提を持つ小さなPerlスクリプトと構文仕様を公開しました:プレーンテキストはタグで乱されることなくそのまま読めるべきであり、かつHTMLにクリーンに変換できるべきだ。彼らはそれをMarkdownと名付けました。
20年後、Markdownはソフトウェアドキュメント、開発者コミュニケーション、メモアプリ、そしてウェブコンテンツの重要な部分のデフォルトの記述フォーマットです。
哲学:読めるソーステキスト
Gruberの設計目標は明確でした:「Markdownフォーマットのドキュメントは、タグやフォーマット指示でマークアップされたように見えることなく、プレーンテキストとしてそのまま出版できるべきだ。」
**太字**は<strong>太字</strong>より視覚的に強調を伝える## 見出しは一目でスキャンできる- 項目はレンダリングなしでも箇条書きに見える
豆知識 Markdownの共同制作者Aaron Swartzは、RSS、Creative Commons、Redditの開発にも重要な役割を果たしました。
開発者が愛する理由
- プレーンテキスト = バージョン管理に適している。 Gitが行単位でdiffできる。
- ベンダーロックインなし。 どのテキストエディタでも、どのOSでも開ける。
- 軽量。 キロバイト単位で測定される。
- あらゆるものに変換可能。 PandocでHTML、PDF、EPUB、LaTeX、Wordなどに変換可能。
Markdownが今日使われている場所
| 分野 | Markdownを使用するプラットフォーム |
|---|---|
| コードホスティング | GitHub、GitLab、Bitbucket |
| コミュニケーション | Slack、Discord、Reddit、Teams |
| メモ | Obsidian、Notion、Bear、Typora |
| ドキュメント | Docusaurus、MkDocs、Read the Docs |
| ブログ / CMS | Jekyll、Hugo、Astro、Ghost |
断片化の問題
Gruberのオリジナル仕様は意図的に非公式で不完全でした。この曖昧さが断片化を招き、CommonMark(2014年)、GitHub Flavored Markdown(GFM)、MDX、MultiMarkdown、R Markdownなどの標準化の試みが生まれました。
コア構文(見出し、太字、斜体、リスト、リンク、画像、コード)はどこでも同じように動作します。違いは拡張機能とエッジケースにあります。
制限と代替手段
Markdownはあらゆる作業に適したツールではありません。複雑なレイアウト、リッチなスタイリング、セマンティックな豊かさが必要な場合は、AsciiDoc、reStructuredText、LaTeX、またはリッチテキストエディタがより良い選択肢です。
さらに詳しく
リアルタイムプレビューでMarkdownを練習するにはMarkdownプレビューツールをお試しください。構文のハンズオン入門はMarkdownで書くチュートリアルをご覧ください。どちらも無料でブラウザで直接動作します。
