文章中の同義語を表記ゆれをチェックするtextlintルールです。
同義語の辞書としてSudachi 同義語辞書を利用しています。
NG:
1つの文章中に同一語彙の別表記を利用している場合を表記ゆれとしてエラーにします。
サーバとサーバーの表記揺れがある。
この雇入と雇入れの違いを見つける。
Install with npm:
npm install @textlint-ja/textlint-rule-no-synonyms sudachi-synonyms-dictionary
辞書となるsudachi-synonyms-dictionaryはpeerDependenciesなので、ルールとは別に辞書ファイルをインストールする必要があります。 ルール間で1つの辞書ファイルを共有するためです。
Cannot find module 'sudachi-synonyms-dictionary'
上記のエラーが出ている場合は辞書ファイルであるsudachi-synonyms-dictionary
をインストールしてください
npm install sudachi-synonyms-dictionary
Via .textlintrc
(Recommended)
{
"rules": {
"@textlint-ja/no-synonyms": true
}
}
Via CLI
textlint --rule @textlint-ja/no-synonyms README.md
{
/**
* 許可するワードの配列
* ワードは完全一致で比較し、一致した場合は無視されます
* 例) ["ウェブアプリ", "ウェブアプリケーション"]
*/
allows?: string[];
/**
* 使用を許可する見出し語の配列
* 定義された見出し語以外の同義語をエラーにします
* 例) ["ユーザー"] // => 「ユーザー」だけ許可し「ユーザ」などはエラーにする
*/
preferWords?: string[];
/**
* 同じ語形の語の中でのアルファベットの表記揺れを許可するかどうか
* trueの場合はカタカナとアルファベットの表記ゆれを許可します
* 例) 「ブログ」と「blog」
* Default: true
*/
allowAlphabet?: boolean;
/**
* 同じ語形の語の中での漢数字と数字の表記ゆれを許可するかどうか
* trueの場合は漢数字と数字の表記ゆれを許可します
* 例) 「1」と「一」
* Default: true
*/
allowNumber?: boolean;
/**
* 語彙素の異なる同義語を許可するかどうか
* trueの場合は語彙素の異なる同義語を許可します
* 例) 「ルーム」と「部屋」
* Default: true
*/
allowLexeme?: boolean;
}
Example:
{
"rules": {
"@textlint-ja/no-synonyms": {
"allows": ["ウェブアプリ", "ウェブアプリケーション"],
"preferWords": ["ユーザー"],
"allowAlphabet": false,
"allowNumber": false,
"allowLexeme": false
}
}
}
See Releases page.
Install devDependencies and Run npm test
:
npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT © azu