Markdown: マークダウン リストの構文とネスト
リストは、散在する情報を構造化されたコンテンツに変える最も簡単な方法です。読者は一目で重要なポイントを把握できます。
1. 学ぶこと
- 順序なしリストと順序付きリストの構文
- リストをネストする正しい方法
- タスクリストの作成と使用
- リスト内の段落、コード ブロック、ブロック引用符
- よくあるリストの間違いとその修正方法
2. プロジェクトマネージャーの実話
(1) 問題点: 混沌としたタスクの割り当て
Chris は開発チームのプロジェクト マネージャーです。毎週月曜日に、彼はその週のタスク計画を文書に書きます。彼はタスクをプレーンテキストで説明していました。チームメンバーは項目を見逃したり、優先順位を混同したりすることがよくありました。誰かが「これは私の仕事ですか、それともあなたの仕事ですか?」と尋ねます。 「このタスクの優先順位がどこにあるのかわかりませんでした」という人もいます。
(2) 解決策: リストを使用してタスクを構造化する
Chris は、タスクの整理にマークダウン リストの使用に切り替えました。優先順位には順序付きリスト、完了ステータスにはタスク リスト (- [ ])、サブタスクにはネストされたリストが使用されます。チームの読書効率は劇的に向上しました。
## Weekly Tasks
1. **[High Priority] Database Migration**
- [ ] Export old data
- [ ] Write migration script
- [ ] Test data integrity
2. **[Medium Priority] API Documentation Update**
- [x] Update user API docs (completed)
- [ ] Add new endpoint examples
(3) 利点: タスクの所有権を明確にする
| 寸法 | 前 | 後 |
|---|---|---|
| 週ごとに見逃したタスク | 3-5 | 0 |
| 「これは誰の所有物ですか?」質問 | 頻繁 | 珍しい |
| 明確にするために費やした時間 | 1 日あたり約 30 分 | 1 日あたり約 5 分 |
| スプリント完了率 | 65% | 92% |
3. 順序なしリスト
(1) 基本的な構文
順序なしリストは -、*、または + で始まり、その後にスペースが続きます。
- Apple
- Banana
- Orange
* Apple
* Banana
* Orange
+ Apple
+ Banana
+ Orange
ヒント: 3 つのシンボルはすべて同じ結果を生成します。
-を使用することをお勧めします。斜体の*などの他の構文と混同される可能性が最も低くなります。
(2) 複数段落のリスト項目
リスト項目に複数の段落が含まれる場合は、インデントの一貫性を保ちます。
- Item one: This is the main content.
This is additional explanation for this item (blank line + 2-space indent).
- Item two: Description of the second item.
More supplementary information.
▶ 例: 順序なしリストを使用した情報の整理
## Project Checklist
- **Frontend**
- Responsive layout testing
- Browser compatibility check
- **Backend**
- API stress testing
- Database backup verification
- **DevOps**
- SSL certificate expiration check
- Log rotation configuration
出力:
テキストチームごとに整理された構造化されたチェックリストとしてレンダリングされ、各カテゴリには特定のアクション項目が含まれます。 「」
4. 順序付きリスト
(1) 基本的な構文
順序付きリストは数字で始まり、その後にピリオドが続きます。
1. Step one: Initialize the project
2. Step two: Install dependencies
3. Step three: Configure the environment
4. Step four: Start the development server
ヒント: マークダウンには連続した番号は必要ありません。すべての項目に
1.と書くことができ、レンダリング時に自動的にインクリメントされます。ただし、実数を使用すると、ソースが読みやすくなります。
(2) 特定の番号から始める
一部のシナリオでは、1 以外の数値から開始する必要があります。
1. The first three steps are in the previous section
4. Step four (continued)
5. Step five
ヒント: GitHub では、リスト項目の間に説明テキストを挿入して番号付けを続けることもできます。Markdown はシーケンスを自動的に認識します。
▶ 例: 順序付きリストによるステップの表現
## Deployment Workflow
1. Pull latest code: `git pull origin main`
2. Install dependencies: `npm install`
3. Run tests: `npm test`
4. Build the project: `npm run build`
5. Upload to server: `scp -r dist/ user@server:/var/www/`
6. Restart the service: `pm2 restart app`
出力:
テキスト番号付きのステップとしてレンダリングします。順序付きリストは、ステップバイステップのガイドに自然に適合します。各ステップにはアクション コマンドと簡単な説明が含まれています。 「」
ヒント: ステップバイステップ ガイドでは、実行順序を表すために順序付きリストが自然な選択になります。各ステップには 1 つのアクション コマンドと短い説明が含まれます。
5. ネストされたリスト
ネストされたリストは インデント によって作成されます。子リストは、親リストよりもスペース 2 つ (またはタブ 1 つ) 多くインデントされます。
(1) 順序なしリスト内にネストされた順序なしリスト
- Programming Languages
- Compiled
- C
- C++
- Rust
- Interpreted
- Python
- JavaScript
- Ruby
- Databases
- Relational
- PostgreSQL
- MySQL
(2) 順序付きリスト内にネストされた順序なしリスト
1. Install Python
- Download the installer from the official website
- Check "Add Python to PATH"
2. Set up a virtual environment
- Create environment: `python -m venv venv`
- Activate environment: `source venv/bin/activate`
▶ 例: カテゴリ構造の 3 レベルのネスト
## Frontend Technology Stack
- **Frameworks**
- React
- Core concepts: Components, State, Props
- Ecosystem: React Router, Redux
- Vue
- Core concepts: Reactive data, Templates
- Ecosystem: Vue Router, Pinia
- **Styling**
- CSS
- SCSS
- Tailwind
出力:
テキスト明確な視覚的階層を持つ 3 レベルのネストされたリストとしてレンダリングされます。各レベルはさらに右にインデントされます。 「」
Caution: Don't nest more than 3 levels — readability drops sharply. If you need deeper hierarchy, consider using headings or tables instead.
6. タスクリスト
タスク リストは GFM 拡張機能です。不完全な項目には - [ ] を使用し、完了した項目には - [x] を使用します。
- [x] Complete project initialization
- [x] Implement user login
- [ ] Write API documentation
- [ ] Deploy to production
- [ ] Performance optimization
注意: タスク リストの
[x]は大文字と小文字が区別されません。[x]と[X]は両方とも完了を意味します。括弧の後にはスペースが必要です。-[]ではなく- [ ]を使用してください。
▶ 例: タスク リストを使用したプロジェクトの進捗状況の追跡
## E-Commerce Project Sprint 3
### Completed
- [x] Product listing page
- [x] Shopping cart
- [x] User registration/login
### In Progress
- [ ] Payment API integration
- [x] Alipay SDK integration
- [ ] Payment callback handling
- [ ] Refund flow
### To Do
- [ ] Order management dashboard
- [ ] Product search feature
出力:
テキストチェックボックス付きのレンダリング — 完了したアイテムはチェックが入ったものとして表示され、不完全なアイテムはチェックが入っていないものとして表示されます。プロジェクトのステータス追跡に最適です。 「」
ヒント: GitHub Issues および Pull Request でタスク リストを使用すると、非常に効果的です。チーム メンバーは一目で進捗状況を確認できます。
7. リスト内のその他のコンテンツ
(1) リスト内のコード ブロック
リスト項目内のコード ブロックには追加のインデント (8 つのスペースまたは 2 つのタブ) が必要です。
- Run test cases:
npm run test -- --coverage
- Check code formatting:
npx eslint src/
注意: リスト内のコード ブロックでは、
```フェンス構文を使用できません (一部のパーサーではリストが壊れます)。推奨されるアプローチは 8 スペースのインデントです。
(2) リスト内のブロック引用符
- Key finding:
> Users spend an average of only 12 seconds on this page.
> The main reason is slow load time.
8. 完全な例: リストを使用したプロジェクトの計画
Project Kickoff Plan
## Sprint 1: Foundation (Weeks 1-2)
- [x] Project initialization
1. Create Git repository
2. Configure CI/CD
3. Set up dev environment
- [ ] User system
- [x] Registration/login API
- [ ] Email verification
- [ ] OAuth third-party login
- [ ] Database design
- [x] ER diagram complete
- [ ] Table creation scripts
- [ ] Seed data
## Sprint 2: Core Features (Weeks 3-4)
1. **Product Module**
- Product CRUD
- Category management
- Search functionality
2. **Order Module**
- Create order
- Payment flow
- Order status management
> Note: All tasks in the scorecard must be completed by the end of the Sprint.
期待される結果: スプリントによって整理された明確なプロジェクト計画。複数のリスト タイプを使用して、さまざまな粒度レベルでタスクを整理します。
❓ よくある質問
-、*、または + を使用する場合に違いはありますか?- を使用することをお勧めします。斜体の * と混同されず、意味的に明確です。📖 まとめ
- 順序なしリストには
-、順序付きリストには1.、タスク リストには- [ ]を使用します。 - 2 ~ 4 個のスペースをインデントしてリストをネストします
- リスト内のコード ブロックには 8 スペースのインデントが必要です
- タスク リストの
[x]は完了を意味し、[ ]はまだ完了していないことを意味します - リストはタスクのチェックリスト、ステップバイステップのガイド、分類された概要によく使用されます。
- リスト項目はそれぞれ 1 ~ 2 行でほぼ同じ長さに保つようにしてください。
📝 練習問題
-
初心者: 今週学習する予定の 5 つの技術トピックを順序なしリストでリストし、学習ステップ (設定から実践まで) を順序付きリストで説明し、タスク リストで進捗状況を追跡します。
-
中級: 少なくとも 3 つのメイン フェーズ (順序付きリスト)、各フェーズにサブタスク (ネストされた順序なしリスト)、および検査チェックリスト (タスク リスト) が含まれる「プロジェクト移行計画」を作成します。
-
課題: ネストされたリスト、コード ブロック、およびブロック引用符 (3 つのコンテンツ タイプすべて) を組み合わせたリスト アイテムを作成します。たとえば、「展開ステップ」リスト項目内に bash コマンド コード ブロックを埋め込み、その下に注意書きを含むブロック引用符を追加します。