textlintはテキストをlintするツール。
作者azuさんの解説。
インストール
textlintはNode.jsのツール。
textlintとそのルールはNode.jsのパッケージマネージャであるnpmからインストールする。
Windowsではインストーラからインストールした。 WSLではAPTでnpmをインストールした。
npmでtextlintとルールをグローバルインストールする。
npm i -g textlint textlint-plugin-latex2e textlint-rule-preset-ja-engineering-paper textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing textlint-rule-preset-japanese textlint-rule-preset-jtf-style textlint-rule-spellcheck-tech-word
ルール
lintのルールは.textlintrc
ファイルに記述する。
.textlintrc
は次のように書く。
{ "rules": { "max-ten": { "max": 3 }, "spellcheck-tech-word": true, "no-mix-dearu-desumasu": true } }
ルールがまとめてあるサイト。
prh
グローバルのja-engineering-paperはローカルのprhを使おうとする。
つまり
原因はよくわからないがファイルが無いエラーを吐く。./node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml
を使おうとする。
そのため次のパスにある辞書を使うよう設定する。
- Win:
C:\\Users\\hotaru\\AppData\\Roaming\\npm\\node_modules\\textlint-rule-preset-ja-engineering-paper\\node_modules\\prh\\prh-rules\\media\\WEB+DB_PRESS.yml
- WSL:
/usr/local/lib/node_modules/textlint-rule-preset-ja-engineering-paper/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml
"preset-ja-engineering-paper": { "prh": { "rulePaths": [ "/usr/local/lib/node_modules/textlint-rule-preset-ja-engineering-paper/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml" ] }, }
プロジェクトによっては自作辞書も使用する。
prh.yml
を使うようにしてprh.yml
を書く。
存在しない*.yml
を読み込もうとするとエラーが出るため、使わないなら指定しない。
"prh": { "rulePaths": [ "prh.yml" ] },
version: 1 rules: - expected: default pattern: deflaut
plugins
textlint-plugins-latex2e
texファイルでもlintするプラグイン。
.textlintrc
の"plugins"
に次のように記述してプラグインを有効化する。
{ "plugins": ["latex2e"], }
VSCode
設定例
強いルール
グローバル・WSL用のファイル。
いろいろなルールを有効化した版。
WindowsならrulePaths
を変更する。
C:\\Users\\hotaru\\AppData\\Roaming\\npm\\node_modules\\textlint-rule-preset-ja-engineering-paper\\node_modules\\prh\\prh-rules\\media\\WEB+DB_PRESS.yml
ユーザー名は書き換える
// ~/.textlintrc.json { "plugins": [ "latex2e" ], "rules": { "preset-ja-engineering-paper": { "prh": { "rulePaths": [ "/usr/local/lib/node_modules/textlint-rule-preset-ja-engineering-paper/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml" ] }, "unify-kuten-and-touten": false }, "preset-ja-spacing": { "ja-space-around-code": { "after": false, "before": false } }, "preset-ja-technical-writing": { "max-kanji-continuous-len": { "allow": [ "日本機械学会論文集" ], "max": 8 }, "sentence-length": { "max": 200 } }, "preset-japanese": { "sentence-length": { "max": 200 } }, "preset-jtf-style": true, "spellcheck-tech-word": true } }
,.
版
、。
ではなく,.
を使うLinux用のファイル。
// ~/.textlintrc.json { "plugins": [ "latex2e" ], "rules": { "preset-ja-engineering-paper": { "prh": { "rulePaths": [ "/usr/local/lib/node_modules/textlint-rule-preset-ja-engineering-paper/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml" ] } }, "preset-ja-spacing": { "ja-space-around-code": { "after": false, "before": false } }, "preset-ja-technical-writing": { "ja-no-mixed-period": { "periodMark": "." }, "max-kanji-continuous-len": { "allow": [ "日本機械学会論文集" ], "max": 8 }, "sentence-length": { "max": 200 } }, "preset-japanese": { "sentence-length": { "max": 200 } }, "preset-jtf-style": { "1.2.1.句点(。)と読点(、)": false, "1.2.2.ピリオド(.)とカンマ(,)": false, "4.1.3.ピリオド(.)、カンマ(,)": false }, "spellcheck-tech-word": true } }
例