LoginSignup
6
2

More than 1 year has passed since last update.

【markdownlint】設定詳解

Last updated at Posted at 2021-01-23

はじめに

VSCode拡張機能のmarkdownlintをしばらく使っていましたが、特に設定をしていませんでした。
普段Hugoで記事を書く中で、HTMLタグの使用制限文書頭H1のlintを停止したいと思い公式ドキュメントを参照したところ、他にも便利そうな機能があったため、ピックアップしました。

対象読者

  • VSCodeユーザ
  • すぐに答えが知りたい人
  • ノンプログラマ

そうでない人は公式ドキュメントへどうぞ。
markdownのコーディングルールはこちら

選択的にlintを停止する方法

ユーザ・ワークスペース・フォルダに対して適用

settings.jsonに下記を追記する。

settings.json
"markdownlint.config": {
    // インラインHTMLの制限を解除
    "MD033": false,

    // H1がなくてもOK
    "MD041": false,
}

もしくはルートディレクトリ下の.markdownlint.jsonに下記のように記述します。

ただしこの場合、settings.jsonは無効となり、後述の方法で継承することもできないと思われます。(確認不足かも)

.markdownlint.json
{
  "MD033": false,
  "MD041": false,
}

.markdownlint.json適用の優先順位は以下で、構成が見つかるとそれより下位の構成は無視されます。
つまり自動的に継承はされないため、継承したい場合は明示します。

  1. 同一ディレクトリ内
  2. 親ディレクトリ内
  3. プロジェクトルート
  4. settings.json
  5. デフォルトの構成

一部に適用

一部のみに例外を適用したい場合は以下のように設定します。

例: 画像の代替テキストを省略する

<!-- markdownlint-disable MD045 -->
![](path_img)
<!-- markdownlint-enable MD045 -->

継承

"extends": "相対パス".markdownlint.jsonを継承します。

以下、例が続きます。

root\
  ├ .markdownlint.json
  ├ dir1\
  │   └ file1.md
  └ dir2\
      ├ .markdownlint.json
      └ file2.md
.markdownlint.json
{
  // インラインHTMLの制限を解除
  "MD033": false,

  // H1がなくてもOK
  "MD041": false,
}
.markdownlint.json
{
  // 親ディレクトリの.markdownlint.jsonを継承
  "extends": "../.markdownlint.json",

  // 代替テキストの制限
  "MD045": false
}
file1.md/file2.md
## h2

<code>inline HTML</code>

![](img)
<!-- ↑ file1.mdのみlint -->

正直使いどころがわかりませんが、手段として知っておく分にはよかったかなという印象です。

まとめ

基本的にはsettings.json"MD001": falseなどと指定しておけばいいですね。

指定すべきMarkdownのコーディングルールはこちら。(再掲)

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2