textlintでブログの文章校正を見直してみました

f:id:tanabebe:20190922010308p:plain ブログを書いているとセルフレビューはもちろん行うのですが、思っているよりtypoミスが目立っていました。何度か書いている中で意識はしたものの、改善が見えなかったため文章校正を出来るように今回はtextlintについてご紹介します。

手順

公式を参考し、進めていきます。

textlint.github.io

前提条件

以下の環境で実施していきます。

❯❯❯ node -v && npm -v
v10.15.3
6.4.1

作業ディレクトリの作成

コマンドを実行し、作業ディレクトリを作成していきます。

❯❯❯ mkdir sandbox
❯❯❯ cd sandbox

package.jsonの生成

コマンドを実行し、初期化を行います。

❯❯❯ npm init --y

textlintのインストール

コマンドを実行し、textlintをインストールします。

❯❯❯ npm i -D textlint

これでtextlintのインストールは完了です。

textlint ruleのインストール

textlint単体では意味がないので、こちらから必要なruleを選択し、インストールします。

github.com

表記揺れチェックrule(textlint-rule-proofdict)をインストール

こちらのtextlint-rule-proofdictを使用します。 proofdict.github.io

コマンドを実行し、インストールします。

❯❯❯ npm i -D @proofdict/textlint-rule-proofdict

.textlintrcファイルを生成します。

❯❯❯ npx textlint --init

以下.textlintrcが生成されます。

{
  "filters": {},
  "rules": {
    "@proofdict/proofdict": true,
  }
}

しかし、このままだと参照先の辞書URLがないので.textlintrcを以下のように変更します。

{
  "filters": {},
  "rules": {
    "@proofdict/proofdict": {
      "dictURL": "https://tanabebe.github.io/proof-dictionary/"
    },
  }
}

dictURLのURLはこちらからforkしてきたリポジトリを設定しています。今回はデフォルト以外にGitHubGitLabの表記揺れを検知出来るよう、以下のruleを定義しました。

ruleを追加したのでsample.mdを修正し、textlintコマンドを実行します。

f:id:tanabebe:20190921195706p:plain

独自で作成した辞書の表記揺れについて検知が出来るようになりました。 textlint-rule-proofdictazuさんという方が作成しています。textlint-rule-spellcheck-tech-wordについてのruleはこちらに移行しているとのことで、使用させていただきました。(こちらも同じくazuさん)これがまた大変優れており、オンラインエディタがついているので独自の辞書データを簡単に作成出来ます。 以下の通り、独自の辞書データ作成(GitHubへのymlファイル作成)までの一連の流れがWeb上で行えます。めちゃくちゃ便利です。

オンラインエディタ上でrule作成時の画面1 f:id:tanabebe:20190921225516p:plain オンラインエディタ上でrule作成時の画面2 f:id:tanabebe:20190921225528p:plain GitHubへのymlファイル追加時の画面 f:id:tanabebe:20190921225537p:plain

技術文書向けのrule(textlint-rule-preset-ja-technical-writing)をインストール

こちらをインストールします。

https://github.com/textlint-ja/textlint-rule-preset-ja-technical-

ルール一覧を見ての通り、少し厳し目の設定がデフォルト値となっているので場合によっては設定は変更しないといけないとのこと。今回はデフォルト値で使用します。

コマンドを実行してインストールします。

❯❯❯ npm i -D textlint-rule-preset-ja-technical-writing

.textlintrcを以下のように変更します。

{
  "filters": {},
  "rules": {
    "@proofdict/proofdict": {
      "dictURL": "https://tanabebe.github.io/proof-dictionary/"
    },
    "preset-ja-technical-writing": true,
  }
}

ruleを追加したのでpreset-ja-technical-writingで検知されるようにsample.mdを修正し、textlintコマンドを実行します。 f:id:tanabebe:20190921232128p:plain

期待値となりました。次へ進みましょう。

JTF日本語標準スタイルガイド(翻訳用)のrule(textlint-rule-preset-JTF-style)をインストール

最後にこちらをインストールします。 github.com

コマンドを実行し、インストールします。

❯❯❯ npm i -D textlint-rule-preset-jtf-style

.textlintrcを以下のように変更します。

{
  "filters": {},
  "rules": {
    "@proofdict/proofdict": {
      "dictURL": "https://tanabebe.github.io/proof-dictionary/"
    },
    "preset-ja-technical-writing": true,
    "preset-jtf-style": true,
  }
}

ruleを追加したのでpreset-jtf-styleで検知されるようにsample.mdを修正し、textlintコマンドを実行します。 f:id:tanabebe:20190921234632p:plain

想定通りに動作している事が確認出来ました。

まとめ

この通りtextlintをインストールしruleを追加していく事で、文章校正の自動化を実現できるのでtypoミス間違った日本語の使い方などを見直すことが出来ます。とは言えルフレビューが不要なわけではないですが他にもたくさんのruleがあるので、私のtextlintにはまだカスタマイズが必要です。また、業種に関わらず文章の作成は必ず発生する類のモノだと思います。これを気にtextlintを取り入れて文章校正をしてみてはいかがでしょうか。

躓いた点

表記揺れチェックrule(textlint-rule-spellcheck-tech-word)をインストールした後に実行した画面が以下なのですが、想定通りに動作しなかった事象がありました。

f:id:tanabebe:20190921170857p:plain

調査したところ、以下記事を参考にさせていただきました。 qiita.com

参考URL

記事を書く前に素振りとして参考にさせていただきました。 kakakakakku.hatenablog.com

公式です。 textlint.github.io

textlintruleが一覧化されています。 github.com

躓いた点でお世話になりました。 qiita.com

表記揺れのruleにおいて独自の辞書作成のためにforkさせていただきました。 proofdict.github.io