このプロジェクトはMarkdownファイルをチェックするためのLintツールです。PowerShell版とNode.js版の2つの実装が用意されています。
markdownlint 拡張機能のインストールが必須です。
プロジェクトを開くと、VSCodeが「推奨される拡張機能があります」と通知します。 「すべてをインストール」 をクリックしてください。
VSCode の拡張機能ビューから DavidAnson.vscode-markdownlint を検索してインストール。
Ctrl + Shift + X → "markdownlint" を検索 → インストール
npm install| ドキュメント | 対象 | 内容 |
|---|---|---|
| CHANGELOG.md | ユーザー向け | 変更履歴・バージョン情報 |
| DEVELOPMENT.md | 開発者向け | 設計思想・技術的背景 |
- タブ文字の検出 - Tabs(TAB)
- 末尾空白の検出 - Trailing whitespace(WS)
- 見出しのフォーマットチェック - 見出しの後に空白が必須(MD018)
- フェンスコードブロックの閉じ方チェック - バッククォート(```)またはチルダ(~~~)の整合性確認(FENCE)
- 最初の行のチェック - 最初の内容行は階級1の見出し(# )である必要がある(MD041)
# 実行権限を許可してスクリプト実行
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/markdown-lint.ps1 -Root .または、VSCode統合タスクから実行:
Ctrl + Shift + B → "lint:markdown (PowerShell)" を選択
※実装のみで動作確認は行っていません🙇。
# 初回のみ依存関係をインストール
npm install
# チェック実行
npm run lint:mdまたは、VSCode統合タスクから実行:
Ctrl + Shift + B → "lint:markdown (Node.js)" を選択
Markdown Lint の細かいルール設定:
{
"default": true,
"MD013": false, // 行の長さチェック(無効)
"MD040": false, // ブロッククォートのフォーマット(無効)
"MD046": { "style": "fenced" }, // コードブロックはフェンス形式
"MD004": { "style": "dash" } // リスト記号はダッシュ(-)
}除外対象フォルダ(例):
bin/ # ビルド出力
obj/ # ビルドメタデータ
wwwroot/ # 静的ファイル
Design/ # デザイン資産
log/ # ログファイル
node_modules/ # npm依存関係
.vs/ # Visual Studioメタデータ
_site/ # ドキュメント生成出力
dist/ # フロントエンドビルド出力
build/ # ビルド出力
coverage/ # テストカバレッジ
| 環境 | コマンド | 対応OS |
|---|---|---|
| PowerShell | scripts/markdown-lint.ps1 |
Windows(必須) |
| Node.js | npm run lint:md |
Windows / macOS / Linux |
推奨: クロスプラットフォーム対応が必要な場合は Node.js版を使用してください。
README.md:10:MD018: Heading must have a space after #
README.md:15:WS: Trailing whitespace
形式: ファイル名:行番号:ルール: メッセージ
scripts/markdown-lint.ps1 の先頭の $IgnoreDirs 配列にフォルダを追加:
$IgnoreDirs = @("bin","obj","wwwroot","Design","log","node_modules",".vs","_site","dist","build","coverage","your-folder").markdownlintignore に1行ずつ追加:
your-folder/
このプロジェクトには、各ルールの動作を検証するテストファイルが含まれています。
# PowerShell版でテストを実行(testsを含める)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/markdown-lint.ps1 -Root . -IncludeTests
# Node.js版でテストを実行(tests配下のみ)
npm run lint:md:tests注: 通常の Lint チェック(プロジェクト全体)では、tests/ フォルダは自動的に除外されます。テスト目的の時のみ上記のコマンドを使用してください。
| ファイル | 検証内容 | 期待される検出 |
|---|---|---|
tests/valid.md |
エラーなしの正しいMarkdown | 0件 |
tests/invalid-tabs.md |
Tab文字の検出 | TAB (2件) |
tests/invalid-trailing-ws.md |
末尾空白の検出 | WS (4件) |
tests/invalid-heading.md |
見出しのスペースエラー | MD018 (2件) |
tests/invalid-fence.md |
フェンスブロック未閉じ | FENCE (1件) |
tests/invalid-first-line.md |
最初の行が見出しでない | MD041 (1件) |
合計で 10件のエラー が検出されることで、ツールが正常に動作していることを確認できます。
MIT License - 詳細は LICENSE ファイルを参照してください。