textlintのカスタマイズ

textlintのカスタマイズ方法を紹介します。

設定ファイル

textlintの設定ファイル.textlintrcの内容を変更することで、textlintの動作をカスタマイズできます。 設定項目については、textlintのドキュメントを参照してください。

mdbook-ja-templateの.textlintrcの内容は以下のとおりです。

{
  "filters": {},
  "rules": {
    "@textlint-ja/no-insert-dropping-sa": true,
    "@textlint-ja/no-synonyms": true,
    "@textlint-rule/no-duplicate-abbr": true,
    "doubled-spaces": true,
    "footnote-order": true,
    "ja-hiragana-fukushi": true,
    "ja-hiragana-hojodoushi": true,
    "ja-hiragana-keishikimeishi": true,
    "ja-no-orthographic-variants": true,
    "no-empty-section": true,
    "no-mixed-zenkaku-and-hankaku-alphabet": {
      "prefer": "半角"
    },
    "period-in-list-item": true,
    "prefer-tari-tari": true,
    "preset-ja-spacing": true,
    "preset-ja-technical-writing": true
  }
}

プラグイン

textlintはルールを導入することでチェック内容をカスタマイズできます。 textlintで利用可能なルールの一覧はCollection of textlint ruleを参照してください。

プラグインの追加

新たにルールを追加したい場合は、docker/Dockerfileを編集して、 コンテナ内にルールをインストールしてください。 ルールのインストール方法や.textlintrcの設定方法はルールのドキュメントを参照してください。 多くのルールはcd /npm && npm install textlint-rule-* でインストールできます。

以下に、textlint-rule-no-todoプラグインをインストールする場合の例を示します。

まず、docker/Dockerfileを以下のように編集してください。

FROM ghcr.io/gifnksm/mdbook-ja:latest

# ↓追加
RUN cd /npm && npm install textlint-rule-no-todo@2

次に、.textlintrcに以下を追加してください。

{
    ...,
    "rules": {
        "no-todo": true
    }
}

編集後make checkなどを実行すると、ルールが有効になった状態で文書校正が行われます。 また、make install-lint-toolsを実行している場合、再度実行してください。