GitHubのREADME、ブログ記事、技術ドキュメントなど、エンジニアが文章を書く場面で広く使われている「Markdown(マークダウン)」。HTMLを直接書くよりもはるかに簡単に、見出しや太字、リスト、テーブルなどの書式を付けることができます。この記事では、Markdownの基本記法から応用的な使い方まで一覧でまとめました。

Markdownとは

Markdownは、2004年にJohn Gruberによって作られた軽量マークアップ言語です。プレーンテキストに簡単な記号を加えるだけで、見出し・太字・リスト・リンクなどの書式を表現できます。

Markdownの大きな特徴は以下の3つです。

  • 記法がシンプル - 覚える記号が少なく、すぐに書き始められる
  • 可読性が高い - マークアップしたままの状態でも読みやすい
  • HTMLに変換できる - 最終的にHTMLに変換されてWebページとして表示される

Markdownファイルの拡張子は「.md」です。GitHub、Qiita、Zenn、Notion、Slackなど、多くのサービスがMarkdown記法をサポートしています。

見出し(h1〜h6)

見出しは先頭に「#」を付けて記述します。#の数が多いほど小さい見出しになります。

# 見出し1(h1)
## 見出し2(h2)
### 見出し3(h3)
#### 見出し4(h4)
##### 見出し5(h5)
###### 見出し6(h6)

「#」の後にはスペースを1つ入れるのがルールです。スペースがないと見出しとして認識されない場合があります。通常、h1はドキュメントのタイトルに使い、本文の見出しはh2から始めるのが一般的です。

テキスト装飾(太字・斜体・取り消し線)

テキストを装飾するための記法です。

記法表示説明
**太字**太字アスタリスク2つで囲む
*斜体*斜体アスタリスク1つで囲む
***太字斜体***太字斜体アスタリスク3つで囲む
~~取り消し~~取り消しチルダ2つで囲む
これは**重要な**テキストです。
*イタリック*で強調します。
~~この情報は古いです~~

リスト(箇条書き・番号付き)

箇条書きリスト

「-」「*」「+」のいずれかとスペースを先頭に付けます。

- りんご
- みかん
- バナナ
  - 台湾バナナ
  - フィリピンバナナ

インデント(スペース2つまたは4つ)で入れ子にできます。

番号付きリスト

「数字.」とスペースで始めます。

1. 最初のステップ
2. 次のステップ
3. 最後のステップ

実際の数字に関係なく、自動的に連番が振られます。すべて「1.」と書いても正しく表示されます。

チェックリスト

タスク管理に便利なチェックリストも記述できます。

- [x] 完了したタスク
- [ ] 未完了のタスク
- [ ] もう一つの未完了タスク

リンク

[表示テキスト](URL)
[Google](https://www.google.com)

// タイトル付き
[Google](https://www.google.com "Googleのトップページ")

画像

リンクの先頭に「!」を付けると画像になります。

![代替テキスト](画像のURL)
![ロゴ](images/logo.png)

代替テキスト(alt属性)は、画像が表示されない場合やスクリーンリーダーで読み上げる際に使用されます。アクセシビリティのために必ず設定しましょう。

コード(インライン・ブロック)

インラインコード

文中にコードを挿入する場合はバッククォート(`)で囲みます。

`console.log()` で値を出力できます。

コードブロック

複数行のコードはバッククォート3つで囲みます。言語名を指定するとシンタックスハイライトが適用されます。

```javascript
function greet(name) {
  return `Hello, ${name}!`;
}
console.log(greet("World"));
```

対応言語の例: javascript, python, html, css, json, bash, sql, java, go, rust など。

テーブル(表)

パイプ(|)とハイフン(-)でテーブルを作成できます。

| 名前 | 年齢 | 職業 |
|------|------|------|
| 田中 | 30   | エンジニア |
| 佐藤 | 25   | デザイナー |
| 鈴木 | 35   | マネージャー |

列の配置指定

ハイフンの部分にコロン(:)を付けることで、テキストの配置を指定できます。

| 左寄せ | 中央寄せ | 右寄せ |
|:-------|:-------:|-------:|
| Left   | Center  | Right  |

引用とその他の記法

引用

「>」を先頭に付けると引用ブロックになります。

> これは引用文です。
> 複数行にわたる引用も可能です。
>
> > 引用のネストもできます。

水平線

3つ以上のハイフン、アスタリスク、またはアンダースコアで水平線を引けます。

---
***
___

エスケープ

Markdownの記号をそのまま表示したい場合は、バックスラッシュ(\)を前に付けます。

\*アスタリスクをそのまま表示\*
\# シャープをそのまま表示

GitHubでの使い方

GitHubではMarkdownが広く使われており、独自の拡張記法(GitHub Flavored Markdown = GFM)もサポートしています。

README.md

リポジトリのトップに表示される説明文です。プロジェクトの概要、インストール方法、使い方などを記載します。

Issue・Pull Request

バグ報告や機能提案、コードレビューにMarkdownを使用できます。チェックリストでタスクを管理したり、コードブロックでソースコードを共有したりできます。

GFM独自の拡張機能

  • チェックリスト - - [x] でタスクの完了/未完了を管理
  • テーブル - パイプ記法によるテーブル表示
  • 取り消し線 - ~~text~~ で取り消し線
  • 自動リンク - URLをそのまま記述するとリンクになる
  • 絵文字 - :emoji_name: で絵文字を挿入

Markdownをリアルタイムでプレビューしてみましょう

Markdownプレビューツールを使ってみる

まとめ

Markdownは、シンプルな記号でテキストに書式を付けられる軽量マークアップ言語です。見出し、太字、リスト、リンク、コードブロック、テーブルなど、ドキュメント作成に必要な機能が揃っており、GitHub、Qiita、Zennなど多くのプラットフォームで採用されています。

基本記法はとてもシンプルなので、実際に書きながら覚えるのが一番の近道です。当サイトのMarkdownプレビューツールを使えば、記法を書いてすぐに結果を確認できます。ぜひ活用してみてください。