付録: options の調整


options を調整するためにプリセット等を試してみたときのメモ。なお、設定で記述している ruleId は draftlint 側で独自に付与しているものなので、.textlintrc ではそのまま使えないこともある。

preset

textlint-rule-preset-japanese

  • インストール理由: 入門用におすすめされている。
  • 動作状況: インストールすれば動作する。
  • 所感: 次の textlint-rule-preset-ja-technical-writing と被るところが多いので一旦利用を取りやめている。
  • 利用状況: 一旦保留。

textlint-rule-preset-ja-technical-writing

  • インストール理由: 技術系のブログでは「これ」のような感じだったので。
  • 動作状況: インストールすれば動作する。
  • 所感: デフォルトでは一般的な文章には少し厳しめになっている。たとえば、クエスチョンマークが使えないと入力しにくい。よってオプションは調整する予定(あるいは textlint-rule-preset-japanese にするか)⇒変更した。
  • 利用状況: 利用継続。
  'ja-technical-writing/no-exclamation-question-mark': false,

textlint-rule-preset-ja-spacing

  • インストール理由: 全角と半角の間のスペースは「昔からのくせで入れてしまう」「CodeSandbox で markdown を記述すると自動フォーマットで挿入されてしまう」ことから、ルールとして設定したかったため。
  • 動作状況: インストールすれば動作する。
  • 所感: デフォルトでは全角と半角のスペースは禁止されているので、設定で always にしている。
  • 所感その後: 全角と半角の間のスペース判定はかなり利用している。他のプリセットとルールの重複が多いので、リソースを抑えるならルールとして利用検討。
  • 利用状況: 個別ルールとして利用。
    {
      ruleId: 'ja-space-between-half-and-full-width',
      rule: require('textlint-rule-ja-space-between-half-and-full-width'),
      options: {
        space: 'always'
      }
    },

textlint-rule-preset-JTF-style

  • インストール理由:japanese プリセットなどと同様。
  • 動作状況: インストールすれば動作する。
  • 所感: 括弧の扱いなどがきつめの設定に感じたので調整する。辞書は.yaml をファイルシステムから読み込む形式であるため、そのままでは利用できないServerless Functions (プレビューモードの場合は SSG 用の .tsx も Functions として扱われる)の場合はバンドルされるモジュールはnode_modules にコピーされる?要確認。表記ゆれについては2.1.6.カタカナの長音 を有効にし、textlint-filter-rule-allowlist を併用することで調整できそうだった。
  • 所感その後: カタカナの長音ついては「データ」は通るが「データー」も通ってしまう。他のルールで補完できそうだが、とりあえずはそのままにしてある。
  • 利用状況: 利用継続(Vercel の制限的に厳しいようなら個別ルールとして利用も検討)
    'jtf-style/3.1.1.全角文字と半角文字の間': false,
    'jtf-style/4.2.7.コロン(:)': false,
    'jtf-style/4.3.1.丸かっこ()': false,
    'jtf-style/2.1.2.漢字': true,
    'jtf-style/2.1.5.カタカナ': false, // 'textlint-rule-preset-ja-technical-writing' に同様のルール.
    'jtf-style/2.1.6.カタカナの長音': true,
    'jtf-style/2.2.1.ひらがなと漢字の使い分け': true

rule

textlint-rule-common-misspellings

  • インストール理由: いわゆる typo を検出したい。
  • 動作状況: インストールしてルールに設定してみただけでは動作しないように見える⇒動作していた。
  • 所感: 思っていたものは少し違っていた。Wikipedia が認定した?ミスしやすいような単語にのみ反応する(内部でmisspellingsを利用している)。たとえば markdown の o と w が入れ替えてしまっていても検出されない。
  • 利用状況: 利用中止

textlint-rule-spellcheck-tech-word

  • インストール理由:「インターフェイス」などの表記を統一させたい。
  • 動作状況: インストールすれば動作する。
  • 所感: 表示は統一されそうだが「コンピューター」だと長音無しも記述できてしまう。「インターフェイス」も違うワードに修正される。よって調整を行いたいが、それには辞書をコンパイルする必要がありそう(azu/technical-word-rules)。
  • 利用状況: 利用中止

@textlint-ja/textlint-rule-no-synonyms

  • インストール理由:「インターフェイス」などの表記を統一させたい。
  • 動作状況: インストールすれば動作する(HTML では<html> <body>innerHTML のみ利用する必要がある)。
  • 所感: 同一 context で表記ゆれがあった場合のみ検出されるもよう(オプションで指定できる可能性はあるが調べていない)。複数の表記が現れた場合「どちらが正しい」かは指定されないので「普段はどちらを使っていたか?」を確認することにはならない。jtf-style の2.1.6.カタカナの長音 を補完するためにしてばらく利用してみる。
  • 所感その後: このルールに引っかかることはほぼ無かった。入れておいて損はないが、リソース消費を抑えるなら外すことも検討。
  • 利用状況: Vercel のタイムアウト対応で一旦利用を中止

textlint-rule-en-spell

  • インストール理由: いわゆる typo を検出したい。
  • 動作状況: インストールすれば動作する。
  • 所感: 検出して欲しかったものは対応している。ただし、反応しない単語があったり、"textlint" 等も検出されてしまうので、やはり調整は必要。インストール時に「warning textlint-rule-en-spell > url-regex-safe@1.1.0: this package has been deprecated」が表示された。
  • 利用状況: Vercel のタイムアウト対応で一旦利用を中止

filter rule

textlint-filter-rule-allowlist

  • インストール理由: textlint-rule-preset-JTF-style の 2.1.6.カタカナの長音 等の調整。
  • 動作状況: インストールすれば動作する。
  • 所感: 見たままの機能なのでとくにはない。
  • 利用状況: 利用継続。
    {
      ruleId: 'allowlist',
      rule: require('textlint-filter-rule-allowlist'),
      options: {
        allow: [
          'aspid',
          'html',
          'microCMS',
          'textlint',
          'VSCode',
          'webpack',
          'リッチエディタ'
        ]
      }
    },

textlint-filter-rule-node-types

  • インストール理由: CodeBlock を常に許可する。
  • 動作状況: インストールすれば動作する。
  • 所感: 見たままの機能なのでとくにはない。
  • 利用状況: 利用継続。
    {
      ruleId: 'node-types',
      rule: require('textlint-filter-rule-node-types'),
      options: {
        nodeTypes: ['CodeBlock']
      }
    }
Back to Home