プレーテキストを校正チェックする
Word などに校正ツールはますが、Markdown や ReStructuredText などのプレーンテキストを校正する手段には乏しいです。
まさかこのためだけに pandoc で word ファイルを作るとか、ワードを起動するとか、腹立たしいことこの上ありません。
そこで、ツールを利用して文章チェックを行う事を考えます。
これが Textlint です。
検証した環境は
- nodejs : v14.15.2
- npm: 6.14.9
まずはインストール
npm install -g \ textlint \ textlint-rule-preset-ja-spacing \ textlint-rule-preset-ja-technical-writing \ textlint-rule-spellcheck-tech-word \ textlint-rule-no-mix-dearu-desumasu
これで必要分はインストール済み。
セットアップ
これは最初にコマンド textlint --init
を実行すると、.textlintrc
ファイルが作成されます。
ここに以下のような設定を行いました
{ "filters": {}, "rules": { "preset-ja-spacing": true, "preset-ja-technical-writing": true, "spellcheck-tech-word": true, "no-mix-dearu-desumasu": true } }
これで設定完了。
実行
ということで、シンプルに以下のような文章を食わせてみました
# Mockpex について Mockpex は Salesforce テスト用ライブラリです。 用途として、Apex でのテストコードを実装するにあたり、各種モックアップやスタブ作成の支援を行います。
さぁこれでどう出るか?
$ textlint README.md /mnt/c/Workspace/Mockpex/Mockpex/README.md 3:8 ✓ error 原則として、全角文字と半角文字の間にスペースを入れません。 ja-spacing/ja-space-between-half-and-full-width 3:10 ✓ error 原則として、全角文字と半角文字の間にスペースを入れません。 ja-spacing/ja-space-between-half-and-full-width 3:21 ✓ error 原則として、全角文字と半角文字の間にスペースを入れません。 ja-spacing/ja-space-between-half-and-full-width 4:11 ✓ error 原則として、全角文字と半角文字の間にスペースを入れません。 ja-spacing/ja-space-between-half-and-full-width 4:45 error 【dict5】 "支援を行う"は冗長な表現です。"支援する"など簡潔な表現にすると文章が明瞭になります 。 解説: https://github.com/textlint-ja/textlint-rule-ja-no-redundant-expression#dict5 ja-technical-writing/ja-no-redundant-expression ✖ 5 problems (5 errors, 0 warnings) ✓ 4 fixable problems. Try to run: $ textlint --fix [file]
うーんなかなか心に来る指摘をありがとう(TT