Markdownチートシート:完全リファレンスガイド
· 12分で読めます
Markdownは、Web上のテキストフォーマットの普遍的な言語となっています。GitHubでドキュメントを書いたり、Redditに投稿したり、Discordでチャットしたり、Notionでノートを整理したり、その他無数のプラットフォームでコンテンツを作成したりする際、Markdownはどこにでもあります。このシンプルでありながら強力な構文を学ぶことで、使用するすべてのデジタルワークスペースでより生産的になれます。
この包括的なガイドは、基本的なフォーマットから高度なテクニックまで、実用的な例と実際のユースケースを含めてすべてをカバーしています。Markdownに関するすべての参照先として、このページをブックマークしてください。
📑 目次
Markdownとは何か、なぜ使うのか?
Markdownは、2004年にJohn Gruberによって作成された軽量マークアップ言語です。その哲学はシンプルです:プレーンテキストはそのまま読めるべきですが、HTMLやその他の形式にも変換可能であるべきです。ボタンやメニューの背後にフォーマットを隠すリッチテキストエディタとは異なり、Markdownはすべてを可視化し、ポータブルに保ちます。
Markdownの美しさはそのシンプルさにあります。任意のテキストエディタで書くことができ、Gitでバージョン管理し、HTML、PDF、または数十の他の形式に変換できます。技術文書、READMEファイル、ブログ投稿、共同執筆のデファクトスタンダードとなっています。
Markdownが使用される場所:
- GitHub、GitLab、BitbucketでのREADMEファイルとドキュメント
- Reddit、Discord、Slackでのフォーマットされたメッセージ
- Notion、Obsidian、Roam Researchでのノート作成
- Jekyll、Hugo、Gatsbyなどの静的サイトジェネレーター
- コンテンツ管理システムとブログプラットフォーム
- 技術文書作成ツールとドキュメントプラットフォーム
プロのヒント: 無料のMarkdownエディタを使用して、リアルタイムのライブプレビューで構文を練習しましょう。実践で学ぶ最速の方法です。
基本的なテキストフォーマット
Markdownの基本的なフォーマット構文は直感的で覚えやすいです。ほとんどのフォーマットは、スタイルを適用したいテキストを囲む特殊文字を使用します。
太字テキスト
二重アスタリスクまたは二重アンダースコアで単語を囲んで太字テキストを作成します:
**このテキストは太字です**
__これも太字です__
両方とも次のように表示されます: このテキストは太字です
斜体テキスト
単一のアスタリスクまたは単一のアンダースコアを斜体テキストに使用します:
*このテキストは斜体です*
_これも斜体です_
両方とも次のように表示されます: このテキストは斜体です
太字と斜体の組み合わせ
三重アスタリスクを使用するか、アスタリスクとアンダースコアを混在させて両方を組み合わせます:
***太字と斜体のテキスト***
**_これも太字と斜体_**
結果: 太字と斜体のテキスト
取り消し線
ほとんどのMarkdownフレーバーは二重チルダで取り消し線をサポートしています:
~~このテキストは取り消されています~~
結果: このテキストは取り消されています
インラインコード
単一のバッククォートでテキストを囲んでインラインコードとしてフォーマットします:
`console.log()`関数を使用してデバッグします。
結果: console.log()関数を使用してデバッグします。
| 構文 | 出力 | 使用例 |
|---|---|---|
**text** |
text | 強調、重要な用語 |
*text* |
text | 微妙な強調、書籍タイトル |
~~text~~ |
削除されたコンテンツ、訂正 | |
`text` |
text |
コード、コマンド、ファイル名 |
見出しと文書構造
見出しは文書の階層を作成し、可読性を向上させます。Markdownは6レベルの見出しをサポートしており、HTMLの<h1>から<h6>タグに対応しています。
# 見出し1(最大)
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6(最小)
ハッシュ記号の数が見出しレベルを決定します。ハッシュ記号と見出しテキストの間には常にスペースを含めてください。
ベストプラクティス: 見出しレベルを階層的に使用してください。H1からH4にスキップしないでください。これにより、スクリーンリーダーのアクセシビリティが向上し、検索エンジンがコンテンツ構造を理解しやすくなります。
代替見出し構文
H1とH2については、アンダーラインスタイルの構文も使用できます:
見出し1
=========
見出し2
---------
ただし、ハッシュ記号の構文がより一般的で、6つのレベルすべてをサポートしています。
見出しのベストプラクティス
- 文書ごとにH1を1つだけ使用する(通常はタイトル)
- 見出しを簡潔で説明的に保つ
- 文の大文字小文字またはタイトルケースを一貫して使用する
- 見出しを句読点で終わらせない
- 可読性のために見出しの前後に空白行を追加する
リスト:順序付き、順序なし、ネスト
リストは情報を整理するための基本です。Markdownは順序なし(箇条書き)リスト、順序付き(番号付き)リスト、およびその両方のネストされた組み合わせをサポートしています。
順序なしリスト
アスタリスク、ハイフン、またはプラス記号を使用して箇条書きリストを作成します。3つすべてが同じ出力を生成します:
* 最初の項目
* 2番目の項目
* 3番目の項目
- 最初の項目
- 2番目の項目
- 3番目の項目
+ 最初の項目
+ 2番目の項目
+ 3番目の項目
1つのスタイルを選択し、文書全体で一貫して使用してください。
順序付きリスト
ピリオド付きでリスト項目に番号を付けます。実際の番号は重要ではありません—Markdownが自動的に番号を振り直します:
1. 最初の項目
2. 2番目の項目
3. 3番目の項目
1. 最初の項目
1. 2番目の項目
1. 3番目の項目
両方とも同じ番号付きリストを生成します。すべて1を使用すると、番号を振り直すことなく項目を並べ替えやすくなります。
ネストされたリスト
ネストされた項目を2または4スペースでインデントします(一貫性を保つ):
1. 最初の項目
- ネストされた箇条書き
- 別のネストされた箇条書き
2. 2番目の項目
1. ネストされた番号
2. 別のネストされた番号
タスクリスト
多くのMarkdownフレーバーはチェックボックス付きのタスクリストをサポートしています:
- [x] 完了したタスク
- [ ] 未完了のタスク
- [ ] 別の未完了のタスク
これは特にGitHubのissueやプロジェクト管理ツールで便利です。
クイックヒント: 複数段落のリスト項目を書く場合、後続の段落を箇条書き記号ではなく、テキストの最初の行に揃えてインデントします。
リンクと画像
Markdownを使用すると、HTMLタグでテキストを乱雑にすることなく、ハイパーリンクや画像を簡単に追加できます。
基本的なリンク
リンクの構文は簡単です:リンクテキストには角括弧、URLには丸括弧を使用します:
[Markdownエディタにアクセス](/tools/markdown-editor/)
タイトル付きリンク
URLの後に引用符で囲んでタイトル属性(ホバー時に表示)を追加します:
[GitHub](https://github.com "GitHubにアクセス")
参照スタイルのリンク
繰り返しリンクが多い文書の場合、参照スタイルの構文を使用してテキストをきれいに保ちます:
詳細については[Google][1]と[GitHub][2]をチェックしてください。
[1]: https://google.com "Google"
[2]: https://github.com "GitHub"
参照定義は文書内のどこにでも配置でき、出力には表示されません。
自動リンク
URLまたはメールアドレスを山括弧で囲んでクリック可能にします:
<https://example.com>
<email@example.com>
多くのMarkdownプロセッサは、山括弧なしの裸のURLも自動的にリンクします。
画像
画像の構文はリンクと同じですが、感嘆符のプレフィックスが付きます:


代替テキストはアクセシビリティとSEOにとって重要です。画像が何を示しているかを説明する説明的な代替テキストを常に提供してください。
画像のベストプラクティス
- アクセシビリティのために説明的な代替テキストを書く
- 同じリポジトリ内の画像には相対パスを使用する
- 高速読み込みのために画像ファイルサイズを最適化する
- 繰り返し使用する画像には参照スタイルの構文の使用を検討する
- ターゲットプラットフォームで画像が正しく表示されることをテストする
コードブロックとシンタックスハイライト
コードブロックは技術文書に不可欠です。Markdownは、インラインスニペットからシンタックスハイライト付きの複数行ブロックまで、コードをフォーマットする複数の方法を提供します。
インラインコード
前述のように、インラインコードを単一のバッククォートで囲みます:
`git commit`コマンドを使用して変更を保存します。
フェンスコードブロック
複数行のコードの場合、コードの前後に三重バッククォート(または三重チルダ)を使用します:
```
function greet(name) {
return `Hello, ${name}!`;
}
```
シンタックスハイライト
シンタックスハイライトのために、開始バッククォートの後にプログラミング言語を指定します:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
```python
def greet(name):
return f"Hello, {name}!"
```
```css
.button {
background-color: #06b6d4;
border-radius: 8px;
}
```
ほとんどのMarkdownプロセッサは、JavaScript、Python、Java、C++、Ruby、Go、Rust、SQL、HTML、CSSなど、数十の言語をサポートしています。
インデントされたコードブロック
古い構文では、4スペースのインデントを使用してコードブロックを作成します:
function example() {
return true;
}
ただし、フェンスコードブロックは、シンタックスハイライトをサポートし、プレーンテキストで読みやすいため、推奨されます。
プロのヒント: Markdown文書に貼り付ける前に、HTML Beautifierを使用してコードをフォーマットしてください。きれいで整形式のコードは読みやすく、保守しやすいです。
テーブルの作成
テーブルはデータを行と列に整理します。MarkdownテーブルはHTMLテーブルほど柔軟ではありませんが、シンプルなデータ表示には最適です。
基本的なテーブル構文
パイプとハイフンを使用してテーブルを作成します:
| ヘッダー1 | ヘッダー2 | ヘッダー3 |
|----------|----------|----------|
| セル1 | セル2 | セル3 |
| セル4 | セル5 | セル6 |
パイプは完全に揃える必要はありません—Markdownプロセッサが正しくフォーマットします。ただし、揃えられたパイプはプレーンテキストでテーブルを読みやすくします。
列の配置
区切り行でコロンを使用してテキストの配置を制御します:
| 左揃え | 中央揃え | 右揃え |
|:---------|:----------:|----------:|
| テキスト | テキスト | テキスト |
| 追加文字 | 追加文字 | 追加文字 |
:---左揃え(デフォルト):---:中央揃え---:右揃え
実用的なテーブルの例
| Markdownフレーバー | テーブル | タスクリスト | 脚注 |
|---|---|---|---|
| CommonMark | ❌ なし | ❌ なし |