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",
// Excludes terms
"exclude": [
"CSS"
]
}
}
}
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.
This software has been developed with lots of coffee, buy me one more cup to keep it going.
Artem Sapegin and contributors.
MIT License, see the included License.md file.