はじめに
textlint というオープンソースの文章チェックツールを知りましたので早速試してみました。
今回は使っただけで使いこなせていませんが、ブログ書くときだけでなく、設計資料とか文章を書くときは便利になりそうです。
textlintのインストール
コンソール(私はWindowsなのでPowerShell)でコマンドを実行するとインストール完了です。
npm install textlint --global
しかし、textlintをインストールしただけではルールがなく、校正ができません。
ルールは自分でも作ることができますし、公開されているルールを使うこともできます。
私は公開されているルール(textlint-rule-preset-japanese)を使用しました。
Collection of textlint rule · textlint/textlint Wiki · GitHub
ルールの適応
PowerShell でコマンドを実行してルールのダウンロードをします。
npm install --global textlint-rule-preset-japanese
その後、「.textlintrc」という設定ファイルを作ってルールを記載します。
※今回のような拡張子だけのファイル名をWindowsで作成する場合は「.textlintrc.」と末尾に「.」を付けると良いです。
(困って調べました(Windows上で拡張子だけのファイルを作成する方法 | エンジニアの休日))
設定ファイルの中身は以下のように使いたいルールを記載してtrue/falseを設定します。
{ "rules": { "preset-japanese" : true } }
実行
textlint <ファイル名> を実行することでチェックができます。
textlint .\XXX.md
結果
前回の記事をチェックしてみたところ、3件のエラーが見つかりました。
ゲーミフィケーションで熱中するお片付け - はんなりと、ゆるやかに
6:57 error 一つの文で"、"を3つ以上使用しています preset-japanese/max-ten 26:48 error 一つの文で"、"を3つ以上使用しています preset-japanese/max-ten 39:85 error 一文に二回以上利用されている助詞 "に" がみつかりました。 preset-japanese/no-doubled-joshi ✖ 3 problems (3 errors, 0 warnings)
preset-ja-technical-writingという技術文書向けのルールで実行した結果、17件のエラーが見つかりました。
2:36 error 弱い表現: "思う" が使われています。 preset-ja-technical-writing/ja-no-weak-phrase 6:57 error 一つの文で"、"を3つ以上使用しています preset-ja-technical-writing/max-ten 6:19 ✓ error 一つ => 1つ 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 16:60 error "一つ" が連続して2回使われています。 preset-ja-technical-writing/ja-no-successive-word 20:32 ✓ error 十回 => 10回 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 23:31 ✓ error 一つ => 1つ 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 26:48 error 一つの文で"、"を3つ以上使用しています preset-ja-technical-writing/max-ten 29:28 ✓ error 一つ => 1つ 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 35:37 error 弱い表現: "思います" が使われています。 preset-ja-technical-writing/ja-no-weak-phrase 36:3 ✓ error 一つ => 1つ 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 36:5 error "一つ" が連続して2回使われています。 preset-ja-technical-writing/ja-no-successive-word 36:58 error 弱い表現: "思います" が使われています。 preset-ja-technical-writing/ja-no-weak-phrase 39:85 error 一文に二回以上利用されている助詞 "に" がみつかりました。 preset-ja-technical-writing/no-doubled-joshi 40:3 ✓ error 一つ => 1つ 数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。 preset-ja-technical-writing/arabic-kanji-numbers 40:5 error "一つ" が連続して2回使われています。 preset-ja-technical-writing/ja-no-successive-word 40:56 error 弱い表現: "思います" が使われています。 preset-ja-technical-writing/ja-no-weak-phrase 43:34 error 弱い表現: "かも" が使われています。 preset-ja-technical-writing/ja-no-weak-phrase ✖ 17 problems (17 errors, 0 warnings)
さいごに
textlintを使って静的解析すると自分では気づかない間違いに気づけます。
すでにあるルールを使うことで実行も簡単なので今後も継続して使っていきます。
※この文章もtextlintを実行して、指摘がなくなるようにしました。