📝
textlint-rule-prhを使用したMarkdownの校正
概要
Zennの記事を書く時にAWSのアカウントIDをダミーに置き換えたかったので、textlintをインストールし、textlint-rule-prhルールを追加してみました。
環境
前提環境
以下がインストール済みの環境で実施しました。
- macOS Ventura 13.2.1
- nodebrew 1.2.0
- node v20.5.1
- npm 9.8.0
本記事でインストールするもの
以下は本記事の中でインストールします。
- textlint v13.3.3
- textlint-rule-prh 5.3.0
- vscode-textlint v0.11.0
textlintのインストール
% npm i -g textlint
% npx textlint --version
v13.3.3
textlintの初期化
% cd ~/workdir
% npx textlint --init
.textlintrc.json is created.
% cat .textlintrc.json
{
"plugins": {},
"filters": {},
"rules": {}
}
校正ルールの追加
校正ルールを設定するためにtextlint-rule-prhをインストールします。
% npm i -g textlint-rule-prh
AWSのアカウントIDを例示用に置き換えるルールとして以下のown_rules.ymlファイルを作成しました。
AWSアカウントIDである111111111111が記載されている時に、123456789012に置き換えるためのルールです。
own_rules.yml
version: 1
rules:
- expected: '123456789012'
pattern: '111111111111'
作成したown_rules.ymlを.textlintrc.jsonに記載します。
.textlintrc.json
{
"plugins": {},
"filters": {},
"rules": {
"prh": {
"rulePaths": [
"./own_rules.yml"
]
}
}
}
動作確認
動作確認用にtest.mdファイルを用意しました。
test.md
# AWSアカウントID
- AWSアカウントID: 111111111111
textlintコマンドでprhルールでエラーが表示されることが確認できました。
% npx textlint test.md
/Users/user/workdir/test.md
2:15 ✓ error 111111111111 => 123456789012 prh
✖ 1 problem (1 error, 0 warnings)
✓ 1 fixable problem.
Try to run: $ textlint --fix [file]
--fixオプションを指定することでファイルが修正されました。
% npx textlint --fix test.md
/Users/user/workdir/test.md
2:15 ✔ 111111111111 => 123456789012 prh
✔ Fixed 1 problem
% cat test.md
# AWSアカウントID
- AWSアカウントID: 123456789012
VSCodeでの利用
続いてVSCodeでtextlintを使うための設定をします。
vscode拡張機能のインストール
vscode-textlint拡張機能をインストールします。
Config Pathの設定
vscode-textlintの設定で.textlintrc.jsonのパスを設定します。
VSCodeでの確認
VSCodeで編集中にエラーが表示されることを確認できました。
参考
Discussion