St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

【Atom】textlint/prhを導入して、日本語チェックを行う方法をまとめてみた

こんにちは。

最近、仕事が鬼のように忙しくて、あんまりブログ更新できていませんでしたが、また更新していこうと思います。

モチベーション

仕事で、文章を書いてそれを出すやつのお手伝いをしているのですが、その際に次のような話が上がりました。

  • 文章の表記ゆれなどをある程度自動でチェックできないか?
  • その表記ゆれを自動で直せないか?

幸いにも(?)、関わっていたチーム全員が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番煎じ感すごいけど笑