📝

Proofdict を使って textlint の辞書管理を行う

2021/11/23に公開

はじめに

textlint を使用している場合、公開されているルールプリセットを使用する方法もありますが、
自身でチェックしたいキーワードを辞書登録したいケースがあります。
その場合 textlint-rule-prh を利用して、prh.yml を書いていくという方法もありますが、
今回は web エディタ上で辞書ファイル作成が完結できる Proofdict を試してみます。

環境

  • Node.js 16.13.0
  • @proofdict/textlint-rule-proofdict 3.1.2
  • textlint 12.0.2

Proofdict とは

Proofdict は表記揺れや typo などを検知するための辞書管理ツールです。
GitHub Pages 上に公開する辞書ファイルを web エディタ経由で辞書登録でき、textlint で読み込むことができます。

https://proofdict.github.io/

辞書ファイルを作成する

  1. proofdict/proof-dictionary にアクセスして Fork ボタンからフォークします。
  2. フォークしたリポジトリの Settings タブから設定を開きます。
  3. サイドバーにある Pages から GitHub Pages の設定を開きます。
  4. Source ブランチの設定を開き GitHub Pages にデプロイされるブランチ名を master に設定します。
  5. Save ボタンをクリックすると GitHub Pages へのデプロイが始まります。
  6. published の表記になったらデプロイ完了です。
  7. デプロイされたリンクにアクセスすると proof-dictionary が表示されます。
    Editor をクリックすると web エディターが表示されます。

  8. この web エディターから辞書のパターンを確認したり、追加・編集できます。
    今回は例として「かも知れない」という表記揺れを検知するための「かもしれない」という辞書を追加してみます。

  9. 辞書ファイルのアウトプット形式としては JSON、YAML、prh の 3 種類から選べますが、今回はフォーク元のサンプルで管理されている YAML 形式を選択します。
  10. Expected、Patterns、Test Patterns、Tags などを追加していきます。
  11. 下にスクロールすると YAML 形式でアウトプットされているので Save to GitHub ボタンから辞書ファイルを作成します。
  12. すると辞書ファイルが入力された状態で GitHub のエディタが表示されます。
  13. 任意のコミットメッセージを入力して、Commit new file ボタンから辞書ファイルがコミットできます。
  14. コミットが終わると master ブランチに辞書ファイルが作成されました。
  15. proof-dictionary を確認すると追加した辞書ファイルが表示されていることが分かります。

textlint から Proofdict を使用する

textlint 自体のインストール方法や利用方法については下記の記事を参考にどうぞ。
ここでは textlint の設定が完了していることを前提に進めます。

https://qiita.com/takasp/items/22f7f72b691fda30aea2

  1. @proofdict/textlint-rule-proofdict をインストールします。
    npm install --save-dev @proofdict/textlint-rule-proofdict
    
  2. .textlintrc に Proofdict のルールを設定します。
    dictURL はフォークして作成した GitHub Pages の URL を設定します。
    .textlintrc
    {
        "rules": {
            "@proofdict/proofdict": {
                "dictURL": "https://<your-name>.github.io/proof-dictionary/"
            }
        }
    }
    
  3. 実際に textlint を動作させてみると追加した辞書ファイルを元に検出されていることが分かります。
    以下の例は VS Code で表示した場合です。

さいごに

今回は Proofdict を利用して textlint 経由で辞書を利用できるようにしてみました。
気軽に web から辞書登録して、複数のプロジェクトから共通して参照できるので便利ではないでしょうか。

参考

Proofdict · A dictionary engine that based on one rule per one file.

GitHubで編集を提案

Discussion