November 25, 2017

textlintで文書校正する

先日、RedPenを試したので、今度はtextlintを試して 見ました。

環境構築

textlintはNode.jsで動作するので、環境を整えます。

Macでは、Homebrewが導入されていれば、以下の手順で導入できます。

textlint-rule-preset-ja-technical-writingというルールセットをインストールしました。

textlintはデフォルトでは校正のルールセットを持っていないからです。

$ brew install nodebrew
$ nodebrew setup
install nodebrew in $HOME/.nodebrew

========================================
Add path:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
$ echo "export PATH=$HOME/.nodebrew/current/bin:$PATH" >> .bash_profile
$ nodebrew install-binary latest
$ nodebrew ls
V9.2.0

current: none
$ nodebrew use V9.2.0
$ mkdir textlint-test && cd $_
$ npm init --yes
$ npm install -save textlint
$ npm install -save textlint-rule-preset-ja-technical-writing

次に、.textlintrc というファイルにルールの設定を書きます。

{
    "rules": {
        "preset-ja-technical-writing": true
    }
}

そして、生成されている package.jsonscriptsに追記します。

{
  "name": "textlint-demo",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "lint": "textlint ./*.md",
    "lintfix": "textlint --fix ./*.md",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "textlint": "^9.1.1",
    "textlint-rule-preset-ja-technical-writing": "^2.0.0"
  },
  "devDependencies": {},
  "description": ""
}

校正してみる

文書の検査は以下のコマンで実施できます。

$ npm run -S lint

結果はなかなか厳しいですな。

1:1   error  Line 1 exceeds the maximum line length of 90              
7:3   error  文末が"。"で終わっていません。                            
23:12  error  Disallow to use "?"                                      
25:1   error  Line 25 exceeds the maximum line length of 90             
25:18  error  漢字が7つ以上連続しています: 道路運送車両法               
25:26  error  漢字が7つ以上連続しています: 自動車検査業務等実施要領     
31:17  error  一文に二回以上利用されている助詞 "で" がみつかりました。  
31:20  error  一文に二回以上利用されている助詞 "で" がみつかりました。  
34:16  error  一文に二回以上利用されている助詞 "も" がみつかりました。  
34:19  error  弱い表現: "かも" が使われています。                       
36:19  error  一文に二回以上利用されている助詞 "と" がみつかりました。  
36:20  error  弱い表現: "思います" が使われています。                   
39:16  error  弱い表現: "思います" が使われています。                   
40:13  error  Disallow to use "?"                                      

関連リンク

© 沙門