こんにちは。
最近、仕事が鬼のように忙しくて、あんまりブログ更新できていませんでしたが、また更新していこうと思います。
モチベーション
仕事で、文章を書いてそれを出すやつのお手伝いをしているのですが、その際に次のような話が上がりました。
- 文章の表記ゆれなどをある程度自動でチェックできないか?
- その表記ゆれを自動で直せないか?
幸いにも(?)、関わっていたチーム全員がAtomで書いていたので、Atomベースでテキスト校正を行うためのツールを探して設定してみたので、その内容をまとめます*1。
今回使うもの
- textlint : 自然言語の校正に特化したNode.js製の文章校正ツール
- proofread-helper : 校正を手伝ってくれるライブラリ
- textlint-rule-prh:textlintでproofread-helperを使うためのライブラリ
- linter-textlint : Atomからtextlintを使うためのライブラリ
インストール(設定する人)
初期設定をする必要がある人は、以下のような方法で行います。
package.json
の準備
まずはプロジェクトルートに移動して、package.json
をインストールします。
$ npm init --yes
textlint/prh
のインストール
次に、以下のコマンドを打って、textlint/prh
のインストールを行います。
$ npm install --save-dev prh textlint textlint-rule-prh
Atomにlinter-textlintをインストール
GUIから、installページから普通にインストールする感じでいいと思います。コマンドの場合は、以下の通り。
$ apm install linter-textlint
インストール(設定したものを使う場合)
設定されたものを利用するだけの場合は、以下のコマンドを打ちます。
$ npm install
Atomにlinter-textlintをインストール
Atomへのインストールもする必要があります。これは、やり方は同じです。
$ apm install linter-textlint
textlintで使うルールを指定
ここからは、textlintで使うルールを設定します。
.textlintrc
ファイルの作成
プロジェクトルートに、 .textlintrc
というファイルを作ります。
$ touch .textlintrc
作ったら、こちらの使い方を参考にしつつ、以下のようにファイルの中身を書き換えます。
{ "rules": { "prh": { "rulePaths" :["path/to/prh.yml"] } } }
あとは、次にのべる prh formatに従ってファイルを作成します。
prh formatに従って、ルールを書く
あとは、prh formatに従ってルールを書くだけ。基本的な書き方は、以下にまとまっています。
既にあるルールを利用する
既に用意されているルールを利用することもできます。
基本的には、yamlやjsonのファイルを .textlintrc
にインポートするだけで、チェックをすることができます。
コマンドからの実行
コマンドから、文章チェックを行ってみます。こちらを参考に、package.json
ファイルに以下のコマンドを書きます。
"scripts": { "lint": "textlint 'docs/**/*.md'", "fix": "textlint 'docs/**/*.md' --fix" }
あとは、以下のコマンドをターミナルから叩くだけです。
# チェックだけしたい時 npm run lint # 自動で直したい時 $ npm run fix
参考
*1:N番煎じ感すごいけど笑