/textlint-rule-no-synonyms

同義語を表記ゆれをチェックするtextlintルール

Primary LanguageTypeScriptMIT LicenseMIT

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

文章中の同義語を表記ゆれをチェックするtextlintルールです。

同義語の辞書としてSudachi 同義語辞書を利用しています。

NG:

1つの文章中に同一語彙の別表記を利用している場合を表記ゆれとしてエラーにします。

サーバとサーバーの表記揺れがある。
この雇入と雇入れの違いを見つける。

Install

Install with npm:

npm install @textlint-ja/textlint-rule-no-synonyms sudachi-synonyms-dictionary

辞書となるsudachi-synonyms-dictionarypeerDependenciesなので、ルールとは別に辞書ファイルをインストールする必要があります。 ルール間で1つの辞書ファイルを共有するためです。

Cannot find module 'sudachi-synonyms-dictionary'

上記のエラーが出ている場合は辞書ファイルであるsudachi-synonyms-dictionaryをインストールしてください

npm install sudachi-synonyms-dictionary

Usage

Via .textlintrc(Recommended)

{
    "rules": {
        "@textlint-ja/no-synonyms": true
    }
}

Via CLI

textlint --rule @textlint-ja/no-synonyms README.md

Options

{
    /**
     * 許可するワードの配列
     * ワードは完全一致で比較し、一致した場合は無視されます
     * 例) ["ウェブアプリ", "ウェブアプリケーション"]
     */
    allows?: string[];
    /**
     * 同じ語形の語の中でのアルファベットの表記揺れを許可するかどうか
     * trueの場合はカタカナとアルファベットの表記ゆれを許可します
     * 例) 「ブログ」と「blog」
     * Default: true
     */
    allowAlphabet?: boolean;
    /**
     * 同じ語形の語の中での漢数字と数字の表記ゆれを許可するかどうか
     * trueの場合は漢数字と数字の表記ゆれを許可します
     * 例) 「1」と「一」
     * Default: true
     */
    allowNumber?: boolean;
}

Example:

{
    "rules": {
        "@textlint-ja/no-synonyms": {
            "allows": ["ウェブアプリ", "ウェブアプリケーション"],
            "allowAlphabet": false,
            "allowNumber": false
        }
    }
}

References

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm i -d && npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu