textlintをVS Codeで使いmarkdownで記載している日本語校正を自動化しよう
VSCodeを使って文書校正を自動化しよう
モチベーション
「お前の文書は見るに堪えない」 「テクニカルライティングがゴミ」 「日本語が死んでる」 私は、これらの言葉を様々な人達から頂きながら生きてきました。 テクニカルライティングは常に意識して文書を書いて初めて身につくものだと頭では理解しているつもりです。 しかし、Twitterや前略プロフィールみたいなサイトで培った文書力はゴミそのものです。
このブログを書くようになり、ゴミのような文書をせめてゴミ袋に入れるぐらいのレベルアップを図りたいと考えている。
とはいえ、願ったところで綺麗な文書を書くことは難しいもので、ここは1つ技術の恩恵に与ります。
textlintの導入
導入にはnpmを使います。 校正したいテキストがあるフォルダに移動し、下記コマンドを実行する。
npm init --yes
npm install textlint --save-dev
npm install @textlint/textlint-plugin-markdown --save-dev
textlintルールの導入
検索するとよく使われているtextlint用のルールを導入します。
textlint-rule-preset-JTF-style
textlint-ja/textlint-rule-preset-JTF-style
npm install textlint-rule-preset-jtf-style
このtextlint ruleはJTF日本語標準スタイルガイド(翻訳用)に準拠しているそうです。 日本翻訳連盟
textlint-rule-preset-ja-technical-writing
npm install textlint-rule-preset-ja-technical-writing
textlint-ja/textlint-rule-preset-ja-technical-writing
技術文書を書くためのルールを定義している。 例えば、「1文の長さは100文字以下とする」や「ら抜き言葉」を抑できる。
textlint-rule-web-plus-db
npm install textlint-rule-web-plus-db
azu/textlint-rule-web-plus-db WEB+DB PRESS用語統一ルールに従い校正するためのプリセットです。 例えば、「PC」を「PC」と表示することなどを指摘してくれる。 このルールを適用することで、技術用語の表記ブレを減らすことが期待できる。
WEB+DB PRESS用語統一ルールはこちらに掲載されている。 inao/WEB+DB PRESS用語統一ルール
textlintの設定
ルールの適用は。textlintrcという設定ファイルに記載します。 下記コマンドを実行することで、設定ファイルを作できる。
textlint --init
できたtextlintrcファイルを開くとこのような記載になっている。
{
"filters": {},
"rules": {
"preset-ja-technical-writing": true,
"preset-jtf-style": true,
"web-plus-db": true
}
}
textlintの実行
コマンドラインで動作を確認します。 適当な。mdを書いてみます。
textlint --config .\.textlintrc .\なんか.md
実行するとルールに従い指摘が表示されます。
textlint --config .\.textlintrc .\なんか.md
E:\SourceCode\markdown\blog\なんか.md
7:10 ✓ error 。」 => 」 web-plus-db
7:10 ✓ error 文中にかぎかっこが入る場合は、閉じかっこの前に句点を打ちません。 jtf-style/4.1.1.句点(。)
9:48 error 本文を敬体(ですます調)に統一して下さい。
本文の文体は、敬体(ですます調)あるいは常体(である調)のどちらかで統一します。
"である。"が常体(である調)です。 jtf-style/1.1.1.本文
9:48 error 本文: "である"調 と "ですます"調 が混在
=> "ですます"調 の文体に、次の "である"調 の箇所があります: "である。"
Total:
である : 2
ですます: 4
ja-technical-writing/no-mix-dearu-desumasu
10:42 error 本文を敬体(ですます調)に統一して下さい。
本文の文体は、敬体(ですます調)あるいは常体(である調)のどちらかで統一します。
"である。"が常体(である調)です。 jtf-style/1.1.1.本文
10:42 error 本文: "である"調 と "ですます"調 が混在
VS Codeの設定
VS Codeからtextlintを実行するためにプラグインを追加する。
まとめ
ブログを書くための環境を整えることができました。 文書校正は人の手で目視確認も有効ですが工数と何より精神力が削られます。 ツールで落とせるのであればガンガン落としていきたいものです。