Markdown完全ガイド:基本文法から実践活用まで

GitHubでよく整形されたREADMEを見たことはありますか?あるいはNotionでアスタリスクを入力したら太字になって驚いた経験は?その裏にある記法が Markdown です。2004年に誕生し、今やあらゆるデジタルライティングの現場に浸透した軽量マークアップ言語を、歴史・文法・応用まで丸ごと解説します。

1. Markdownとは?その誕生から現在まで

2004年、ブロガー兼プログラマーのJohn Gruberとセキュリティ研究者のAaron Swartzが共同でMarkdownを設計しました。目標はシンプルでした。プレーンテキストとして読んでも違和感がなく、ワンステップでクリーンなHTMLに変換できる記法を作ること、そしてHTMLタグを手書きする手間を省くことです。「Markdown」という名前は「Markup(マークアップ)」の対となる言葉として選ばれました。少ない記号で最大限の表現を、という哲学を名前そのものに込めています。

Markdownの設計原則は三つです。プレーンテキスト優先(あらゆるエディタで開ける)、視覚的な直感性(記号の形がその機能を示す)、変換可能性(HTML、PDF、Word、LaTeXなど多様な形式に出力できる)。

現在ではGitHub、GitLab、Stack Overflow、Reddit、Discord、Notion、Obsidian、Confluenceなど、技術系ツールのほぼすべてが標準ライティング言語としてMarkdownを採用しています。

2. Markdown・Word・HTMLの使い分け

形式 最適なシナリオ 強み 弱点
Word / Google Docs ビジネス文書、契約書、正式レポート WYSIWYG、複雑なレイアウト、変更追跡 ベンダーロックイン、Gitとの相性が悪い
HTML スタイル精度が必要なWebページ 完全なコントロール、ブラウザネイティブ 冗長な文法、生ファイルが読みにくい
Markdown 技術ドキュメント、README、ブログ、メモ プレーンテキスト、軽量、読みやすい、Git親和性 複雑なレイアウトにはHTMLが必要

Markdownの最大の武器はプレーンテキストであること。git diffで変更箇所を行単位で追跡でき、どんなOSでも開け、Pandocで任意の形式に変換でき、全文検索も容易です。

3. 基本文法:見出し・段落・文字装飾

見出し(Headings)

# H1 ページタイトル(1ページに1つが原則)
## H2 主要セクション
### H3 サブセクション
#### H4
##### H5
###### H6

ベストプラクティス:本文のセクションはH2から始めましょう。見出しレベルを飛ばすと(例:H2→H4)スクリーンリーダーが文書構造を正しく解析できません。

文字装飾

**太字** または __太字__
*斜体* または _斜体_
***太字かつ斜体***
~~打ち消し線~~

クロスプラットフォームの一貫性のため、アンダースコアよりアスタリスクの使用を推奨します。

4. リスト:番号なし・番号あり・ネスト


- 項目1
- 項目2


1. ステップ1
2. ステップ2


- フロントエンド
  - HTML
  - CSS
  - JavaScript
    1. 変数と型
    2. 関数

5. リンクと画像

[表示テキスト](https://example.com)
[表示テキスト](https://example.com "ホバー時のtitle")

![代替テキスト](https://example.com/image.png)

アクセシビリティのポイント:代替テキストは「image.png」のような無意味な文字列ではなく、「システムアーキテクチャの概要図」のように内容を的確に説明するものにしてください。

6. コード:インラインコードとフェンスドコードブロック


`npm install` を実行してから `npm run dev` で起動します。


```javascript
function greet(name) {
  return `こんにちは、${name}!`;
}
console.log(greet('世界'));
```

よく使う言語識別子:javascriptpythonphpbashcsshtmljsonyaml

7. 引用ブロック(Blockquote)

> 引用したいテキストを記述します。
> 複数行にわたる場合は各行に > を付けます。
>
> **注意**:このAPIはv3.0で非推奨になりました。

> 外側の引用
> > ネストした引用

8. テーブル(GFM拡張)

| 言語       | 種別   | 学習難易度 |
| ---------- | ------ | ---------- |
| Python     | インタプリタ | 低     |
| JavaScript | インタプリタ | 中     |
| Rust       | コンパイル   | 高     |

区切り行のコロンで列の配置を指定できます::--- 左寄せ、---: 右寄せ、:---: 中央揃え。

9. 応用文法

タスクリスト(GFM)

- [x] Markdownガイドを読む
- [x] VS Codeをインストール
- [ ] Prettierを設定する
- [ ] 最初のPull Requestを出す

YAML Front Matter

静的サイトジェネレーター(Hugo、Jekyll、Next.js)はYAML Front Matterで記事メタデータを定義します:

---
title: "Markdown完全ガイド"
date: 2026-03-23
tags: ["Markdown", "ライティング"]
---

本文はここから始まります...

10. Markdownの方言と仕様

  • CommonMark:最も厳密に定義された仕様。曖昧さをなくし、テストでカバーされています。
  • GFM(GitHub Flavored Markdown):CommonMarkにテーブル・タスクリスト・Alertsを追加。業界のデファクトスタンダードです。
  • MDX:MarkdownとJSXの融合。Next.js・Astro・Docusaurusで広く使われています。
  • Quarto:学術・データサイエンス向け。PythonやRのコードを埋め込み実行できます。

11. Markdownが活躍する主なシーン

  • GitHub / GitLabのプロジェクトドキュメント:README.md・CHANGELOG.md・CONTRIBUTING.mdはオープンソースの必須ファイルです。
  • 個人ナレッジマネジメント:ObsidianやLogseqはMarkdownをディスクに保存するためベンダーロックインがなく、将来ツールを変えても安心です。
  • 技術ブログ・静的サイト:Hugo・Jekyll・Astroでは記事をMarkdownで書き、ビルド時にHTMLへ変換します。
  • コラボレーションツール・チャット:Notion・Confluenceは全Markdownに、Slack・Discordはサブセットに対応しています。
  • APIドキュメント・技術仕様:Swagger/OpenAPIやnpmパッケージのREADMEはMarkdownが標準です。

12. よくある落とし穴とベストプラクティス

  • 段落間は完全に空白の1行を挟む必要があります。改行1回だけでは段落が分かれません。
  • #の後には必ずスペースを入れてください。#見出しは厳格なレンダラーでは認識されません。
  • リストの3階層以上のネストは可読性を著しく損ないます。見出し+テーブルへの再構成を検討しましょう。
  • 同一ドキュメント内でリスト記号(-*)を混在させないよう統一しましょう。
  • 必ずターゲットプラットフォームでプレビューしてから公開してください。レンダリング結果はプラットフォームによって異なります。
  • チームでmarkdownlintをCI/CDに組み込むことでスタイルを統一し、不要なdiffを防ぎます。
今すぐ試してみましょう
本サイトのオンラインMarkdownエディタを開いて、この記事のコードサンプルを貼り付けてみてください。左側に入力するとリアルタイムでプレビューが更新されます。読むより手を動かす方が何倍も速く身につきます。

まとめ

Markdownの魅力は「低い入門コスト、高い天井」にあります。基本文法は5分で習得でき、それだけで日常的な用途の大半をカバーできます。一方で、Git・静的サイトジェネレーター・知識管理システムと組み合わせると、非常に強力なライティングワークフローを構築できます。

何より大切なのは、Markdownが内容そのものに集中させてくれる点です。フォントの調整、ツールバーのクリック、プラットフォーム間のフォーマット崩れを心配することなく、ただ書くことに専念できます。.mdファイルを1枚作って、最初の一文を書き始めてみましょう。