Textlint rule to check and fix terms, brands and technologies spelling in your tech writing in English.
For example:
- Javascript → JavaScript
- NPM → npm
- front-end → frontend
- website → site
- Internet → internet
(You can customize the rules as you wish.)
npm install textlint-rule-terminology
textlint --fix --rule terminology Readme.md
You can configure the rule in your .textlintrc
:
{
"rules": {
"terminology": {
// Load default terms (see terms.json in the repository)
"defaultTerms": true,
// Syntax elements to skip. Overrides the default
"skip": ["Blockquote"],
// List of terms
"terms": [
// Exact spelling including the case
"JavaScript",
"ESLint",
"Sass",
"Less",
"npm",
// RegExp (case-insensitive) → replacement
["front[- ]end(\\w*)", "frontend$1"],
["back[- ]end(\\w*)", "backend$1"],
["web[- ]?site(s?)", "site$1"],
["hot[- ]key", "hotkey"],
["repo\\b", "repository"],
["CLI tool(s?)", "command line tool$1"],
["build system(s?)", "build tool$1"],
["id['’]?s", "IDs"],
["(\\w+[^.?!]\\)? )webpack", "$1webpack"],
["(\\w+[^.?!]\\)? )internet", "$internet"]
],
// OR load terms from a file
"terms": "~/terms.json",
// OR load terms from npm
"terms": "@johnsmith/terms"
}
}
}
Check the default terminology. Read more about configuring textlint.
Use textlint-filter-rule-comments to disable terminology check for particular paragraphs:
<!-- textlint-disable terminology -->
Oh my javascript!
<!-- textlint-enable -->
- textlint-rule-apostrophe — correct apostrophe usage
- textlint-rule-diacritics — words with diacritics
- textlint-rule-stop-words — filler words, buzzwords and clichés
The change log can be found on the Releases page.
Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.
Artem Sapegin and contributors.
MIT License, see the included License.md file.