ブログの記事をtextlintで校正してみた

Kazuki Koide

November 11, 2018

このブログを書いていて、記事を公開してしまってから間抜けな誤字脱字に気づくことが度々あった。慌てて修正してPushして確認すると、また別のミスを見つけてしまって、何度も修正する羽目になる。個人ブログなので神経質になる必要はないがミスを見つけてしまうと何となく気になって修正してしまう。流石に虚しいので文章校正の仕組みを入れることにした。今はVimというテキストエディタで記事を書いているので、Vim上で文書校正をしてみた。

textlintのインストール

文章校正ツールである textlint インストール。ルールは種類が多すぎて正直どれを入れれば良いのか迷う。とりあえず無難そうな 技術文書向けのtextlintルールプリセットと、Webエンジニア向けの辞書 をインストールしてみた。

$npm install -g textlint
$npm install -g textlint-rule-preset-ja-technical-writing textlint-rule-spellcheck-tech-word

textlintの設定

ホームディレクトリに.textlintrcを作成する。デフォルトだと一文の長さが100文字を越えると警告が表示されるが、100文字だとURLなどを記載するとすぐに超えてしまうので200文字で上書きした。

{
  "rules": {
    "preset-ja-technical-writing": {
      "sentence-length": {
        "max": 200
      }
    },
    "spellcheck-tech-word": true
  }
}

Vimプラグインの導入

vimrcの設定例は以下。Lintエンジンの w0rp/ale と、ステータスラインをカスタマイズする itchyny/lightline.vimを使っている。

" ale
let g:ale_linters = {
 \  'markdown': ['textlint']
 \}

" lightline
let g:lightline = {
  \ 'active': {
  \   'left': [
  \     ['mode', 'paste'],
  \     ['readonly', 'filename', 'modified', 'ale'],
  \   ]
  \ },
  \ 'component_function': {
  \   'ale': 'ALEGetStatusLine'
  \ }
\ }

結果

こんな感じで警告してくれるようになった。行番号の箇所に警告マークが表示され、そこにカーソルを合わせると警告の内容が一番下に表示される。また警告の総数がステータスラインに表示されている。便利。