Markdown構文:完全リファレンス
· 12分で読めます
目次
Markdown構文を理解する
Markdownは、プレーンテキストエディタで書式付きテキストを書くための事実上の標準となっています。2004年にJohn Gruberによって作成されたこの軽量マークアップ言語は、シンプルな哲学で設計されました:何よりも読みやすさを優先する。HTMLや他のマークアップ言語とは異なり、Markdown文書は生の形式でも読みやすいままです。
Markdownの美しさはそのシンプルさにあります。整形された文書を作成するために、専門的なソフトウェアや複雑な構文は必要ありません。基本的なテキストエディタがあれば、すぐに書き始めることができます。このアクセシビリティにより、Markdownは世界中の開発者、テクニカルライター、ブロガー、コンテンツクリエイターにとって好まれる選択肢となっています。
Markdownは現代のプラットフォーム全体で普及しています。GitHubはREADMEファイルやイシューディスカッションに使用しています。Redditはコメントの書式設定にMarkdownを採用しています。Jekyll、Hugo、Gatsbyなどの静的サイトジェネレーターは、コンテンツ管理にMarkdownを使用しています。ドキュメントプラットフォーム、ノートアプリ、コンテンツ管理システムはすべて、主要な書式設定言語としてMarkdownを採用しています。
プロのヒント: Markdownファイルは通常、.mdまたは.markdown拡張子を使用します。最近のテキストエディタのほとんどは、これらの拡張子を自動的に認識し、読みやすさを向上させるための構文ハイライトを提供します。
Markdownの背後にある核心的な原則は、書式設定が直感的であるべきだということです。テキストを強調したい場合は、アスタリスクで囲みます。見出しが必要な場合は、ハッシュ記号を前に付けます。これらの規則は、人々がプレーンテキストのメールや文書を自然に書式設定する方法を反映しており、学習曲線が非常に緩やかになっています。
基本的な書式設定テクニック
基本的なMarkdown書式設定をマスターすることは、プロフェッショナルな文書を作成するための基礎です。これらの基本的なテクニックは、シンプルなテキストの強調から見出しや段落などの構造要素まで、日常的な書式設定ニーズの90%をカバーします。
テキストの強調とインラインスタイリング
Markdownでのテキスト強調は、その目的を視覚的に示唆する直感的な記号を使用します。太字テキストは二重アスタリスクまたはアンダースコアを使用します:**太字テキスト**または__太字テキスト__はどちらも太字テキストとしてレンダリングされます。二重記号は、生のテキストでも視覚的な重みを作り出します。
斜体テキストは単一のアスタリスクまたはアンダースコアを使用します:*斜体テキスト*または_斜体テキスト_は斜体テキストを生成します。斜体は、強調、書籍のタイトル、外国語のフレーズ、または微妙なハイライトが必要な技術用語に最適です。
取り消し線テキストは二重チルダを使用します:~~削除されたテキスト~~は削除されたテキストを作成します。この書式設定は、編集の表示、非推奨の機能、またはコンテキストのために関連性を保ちながら置き換えられたコンテンツを示すのに非常に役立ちます。
インラインコードスニペットはバッククォートを使用します:`let x = 5;`はlet x = 5;としてレンダリングされます。この等幅書式設定は、コードを通常のテキストから区別し、技術文書をより明確でスキャンしやすくします。
クイックヒント: 書式設定スタイルを組み合わせることができます。**_太字と斜体_**を使用して太字と斜体のテキストを作成します。開始記号と終了記号が適切に一致していることを確認してください。
文書構造のための見出し
見出しは階層を作成し、文書のナビゲーションを改善します。Markdownはハッシュ記号(#)を使用して見出しレベルを示し、ハッシュが多いほど低レベルの見出しを示します:
# 見出し1(H1)
## 見出し2(H2)
### 見出し3(H3)
#### 見出し4(H4)
##### 見出し5(H5)
###### 見出し6(H6)
各見出しレベルは、文書構造において特定の目的を果たします。H1は通常、文書のタイトルを表し、一度だけ表示されるべきです。H2は主要なセクションをマークし、H3からH6は重要度が低下するサブセクションを作成します。
適切な見出し階層は、スクリーンリーダーのアクセシビリティを向上させ、検索エンジンがコンテンツ構造を理解するのに役立ちます。常に論理的な進行を維持してください—中間レベルなしにH2からH5にジャンプしないでください。
段落と改行
Markdownの段落は空白行で区切られます。テキストブロック間に空行を残すだけで、明確な段落を作成できます。この自然な間隔により、生のMarkdownファイルは非常に読みやすくなります。
段落内での改行(新しい段落を作成せずに)には、行末に2つのスペースを入れてEnterキーを押します。または、明示的な改行には HTML <br>タグを使用します。この区別は、テキストフローを正確に制御する必要がある場合に重要です。
リストでコンテンツを整理する
リストは、密度の高い情報をスキャン可能で消化しやすいチャンクに変換します。Markdownは、順序なし(箇条書き)リストと順序付き(番号付き)リストの両方、さらに両方のタイプのネストされた組み合わせをサポートしています。
順序なしリスト
アスタリスク(*)、プラス記号(+)、またはハイフン(-)を箇条書きマーカーとして使用して、順序なしリストを作成します。3つすべてが同じ結果を生成するため、個人の好みやプロジェクトの規則に基づいて選択してください:
* 最初の項目
* 2番目の項目
* 3番目の項目
* ネストされた項目
* 別のネストされた項目
* 4番目の項目
ネストされたリストには一貫したインデントが必要です—通常は2つまたは4つのスペース。インデントレベルがネストの深さを決定し、複雑な階層構造を作成できます。
順序付きリスト
順序付きリストは、ピリオドが続く数字を使用します。興味深いことに、Markdownは連続した番号付けを必要としません—レンダリングされた出力で自動的に項目を再番号付けします:
1. 最初のステップ
2. 2番目のステップ
3. 3番目のステップ
1. サブステップA
2. サブステップB
4. 4番目のステップ
この自動番号付け機能により、ドラフト作成中にすべての項目に1.を使用でき、手動で再番号付けすることなく項目を並べ替えやすくなります。レンダリングされた出力には、正しい連続番号が表示されます。
プロのヒント: 複雑なドキュメントには、順序付きリストと順序なしリストを混在させます。連続したステップやランク付けされた項目には順序付きリストを使用し、非連続のコレクションや機能リストには順序なしリストを使用します。
リストのベストプラクティス
リスト項目は簡潔で、構造が並行であるように保ちます。1つの項目が完全な文である場合は、すべての項目を完全な文にします。項目が断片である場合は、すべてを断片のままにします。この一貫性により、読みやすさとプロフェッショナリズムが向上します。
長い段落を分割するために、戦略的にリストを使用します。段落形式で「最初に」「2番目に」「3番目に」と書いている場合、それはコンテンツをリストに変換する信号です。読者はスキャン性の向上に感謝するでしょう。
リンクと画像を組み込む
リンクと画像は、コンテンツを外部リソースや視覚要素に接続します。Markdownは、インラインスタイルと参照スタイルの両方のリンクに対して、クリーンで読みやすい構文を提供します。
ハイパーリンクの作成
インラインリンクは、リンクテキストに角括弧を、URLに丸括弧を使用します:[リンクテキスト](https://example.com)。この形式は、リンクとその宛先を一緒に保ち、編集中にリンク先を簡単に確認できます。
ホバー時に表示されるオプションのタイトルテキストを追加します:[リンクテキスト](https://example.com "ホバータイトル")。タイトルテキストは追加のコンテキストを提供し、支援技術に依存するユーザーのアクセシビリティを向上させます。
参照スタイルのリンクは、リンクテキストとURLを分離し、長い文書の読みやすさを向上させます:
[リンクテキスト][参照ID]
[参照ID]: https://example.com "オプションのタイトル"
このアプローチは、同じURLを複数回参照する場合に優れています。文書の下部でURLを一度定義し、全体を通して参照します。更新が簡単になります—文書全体を検索する代わりに、1行を変更するだけです。
画像の埋め込み
画像の構文は、感嘆符のプレフィックスを持つリンク構文を反映しています:。代替テキストは、アクセシビリティとSEOにとって重要です—画像が表示されないユーザーのために、画像が何を示しているかを説明します。
ホバーツールチップ用のオプションのタイトルテキストを含めます:。この追加のコンテキストは、ユーザーがクリックする前、または画像の読み込みに失敗した場合に、画像の関連性を理解するのに役立ちます。
参照スタイルの画像は、参照スタイルのリンクと同じように機能します:
![代替テキスト][画像参照]
[画像参照]: /path/to/image.jpg "オプションのタイトル"
クイックヒント: 同じリポジトリまたはプロジェクト内の画像には相対パスを使用します。これにより、Markdownが移植可能になります—フォルダ全体を移動しても、変更なしですべての画像リンクが保持されます。
内部セクションへのリンク
見出しIDを使用して、文書内の見出しへのアンカーリンクを作成します。ほとんどのMarkdownプロセッサは、見出しテキストからIDを自動的に生成します:[セクションにジャンプ](#section-heading)。IDは通常、見出しテキストを小文字に変換し、スペースをハイフンに置き換えます。
内部リンクは、長い文書のナビゲーションを改善し、読者が関連するセクションに直接ジャンプできるようにします。このテクニックは、ドキュメント、チュートリアル、包括的なガイドで特にうまく機能します。
高度なMarkdown書式設定
基本的な書式設定を超えて、Markdownは技術文書、コードドキュメント、複雑なコンテンツ構造のための強力な機能を提供します。これらの高度なテクニックは、文書をシンプルなテキストからプロフェッショナルグレードのドキュメントに引き上げます。
コードブロックと構文ハイライト
フェンスされたコードブロックは、トリプルバッククォートを使用して複数行のコードセクションを作成します。開始バッククォートの直後にプログラミング言語を指定して、構文ハイライトを有効にします:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
構文ハイライトは、キーワード、文字列、コメント、その他の言語要素を色分けすることで、コードの読みやすさを劇的に向上させます。ほとんどのMarkdownプロセッサは、PythonやJavaScriptからSQLやYAMLまで、数十の言語をサポートしています。
インデントされたコードブロックは代替構文を提供します—すべての行を4つのスペースまたは1つのタブでインデントします。この方法は普遍的に機能しますが、構文ハイライト機能がありません:
function example() {
console.log("インデントされたコードブロック");
}
水平線
3つ以上のハイフン、アスタリスク、またはアンダースコアを単独の行に使用して、視覚的な区切りを作成します:
---
***
___
水平線は、コンテンツを明確なセクションに分割し、長い文書に視覚的な余白を提供します。控えめに使用してください—区切りが多すぎると、コンテンツが断片化され、まとまりが減少します。
特殊文字のエスケープ
バックスラッシュはMarkdownの特殊文字をエスケープし、書式設定としてではなく文字通りに表示します:\*斜体ではない\*は斜体ではないの代わりに*斜体ではない*としてレンダリングされます。
エスケープが必要な一般的な文字には次のものがあります:\ ` * _ { } [ ] ( ) # + - . !。このテクニックは、Markdown構文自体について議論する場合や、技術コンテンツに特殊文字が表示される場合に不可欠です。
引用とタスクリストを活用する
引用とタスクリストは、コンテンツに意味的な意味を追加します。引用は引用や重要な注意事項を強調し、タスクリストは進捗とアクション項目を追跡します。
強調のための引用
行の先頭に大なり記号(>)を使用して引用を作成します:
> これは引用です。
> 複数行にまたがることができます。
>
> そして複数の段落を含めることができます。
ネストされた引用は複数の>記号を使用します:
> 第1レベルの引用
>> ネストされた引用
>>> 深くネストされた引用
引用は、プル引用、推薦文、重要な警告、または重要なポイントを強調するのに美しく機能します。読者の目を重要な情報に引き付ける視覚的な区別を作成します。
プロジェクト管理のためのタスクリスト
タスクリストは、リスト構文とチェックボックス表記を組み合わせます。未チェック項目には- [ ]を、完了項目には- [x]を使用します:
- [x] 完了したタスク
- [ ] 保留中のタスク
- [ ] 別の保留中のタスク
- [x] 完了したサブタスク
- [ ] 保留中のサブタスク
タスクリストは、プロジェクトドキュメント、会議メモ、イシュー追跡で優れています。GitHubなどの多くのプラットフォームは、これらをインタラクティブなチェックボックスとしてレンダリングし、ユーザーがレンダリングされたビューで直接項目をチェックできるようにします。
プロのヒント: プルリクエストの説明でタスクリストを使用して、実装の進捗を追跡します。レビュアーは、どの要