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']
}
}