@proofdict/textlint-rule-proofdict

textlint rule check text using proofdict.

Usage no npm install needed!

<script type="module">
  import proofdictTextlintRuleProofdict from 'https://cdn.skypack.dev/@proofdict/textlint-rule-proofdict';
</script>

README

@proofdict/textlint-rule-proofdict

textlint rule check text using proofdict.

proofdict is a opinionated dictionary.

Install

Install with npm:

npm install @proofdict/textlint-rule-proofdict

Usage

Via .textlintrc(Recommended)

{
    "rules": {
        "@proofdict/proofdict": {
          "dictURL": "https://azu.github.io/proof-dictionary/"
        }
    }
}

Via CLI

textlint --rule proofdict README.md

Options

A Dictionary options:

{
    // If you want to use live-proofdict
    // Proofdict-style dictionary URL
    // Example: "https://azu.github.io/proofdict/"
    // If you want to specific JSON end point, please pass object.
    // `dictURL; { jsonAPI: string, ruleBase: string }`
    "dictURL": undefined,
    // If you want to use local proofdict
    // dictPath is glob style path
    // `dictGlob: "./dict/*.yml"`
    "dictGlob": undefined,
    // Default: 60sec(60 * 1000ms)
    "autoUpdateInterval": 60 * 1000,
    // = Tag settings
    // Filter dictionary by allow or deny
    // Default: Enable all terms of the dictionary.
    // When set both options, this rule prefer allowTags to denyTags
    "allowTags": [],
    "denyTags": [],
}

Multiple dictionary options:

{
    "dicts": [
        /* Dictionary Option */
        {
          "dictURL": "..."
        }
    ]
}

Each Dictionary should have one of dictURL or dictGlob option.

dictURL

dictURL is a dictionary website url.

For example, set https://azu.github.io/proof-dictionary/ to dictURL. This url fetch dictionary data from https://azu.github.io/proof-dictionary/dictionary.json.

If you want to custom API end point, pass object instead of string.

{
  "dictURL": { 
    "jsonAPI": "https://azu.github.io/proof-dictionary/custom-dict.json",
    "ruleBase": "https://azu.github.io/proof-dictionary/item/",
  }
}

dictGlob

dictGlob is a glob pattern for loading local dictionary files.

Each yml file should be Proofdict format.

{
    "dictGlob": "./dict/*.yml"
} 

AllowTags/DenyTags

This rule use proofdict as the source of dictionary.

Each dictionary items has tag.

For example, WebKit has noun tag.

You can setting enable/disable by allowTags and denyTags

e.g.) Enable only "noun" tag.

{
    "rules": {
        "@proofdict/proofdict": {
          "allowTags": ["noun"]
        }
    }
}

e.g.) Use items without "opinion" tag

{
    "rules": {
        "@proofdict/proofdict": {
          "denyTags": ["opinion"]
        }
    }
}

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