Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sapegin/textlint-rule-terminology
Textlint rule to check correct terms spelling
https://github.com/sapegin/textlint-rule-terminology
linter terminology text textlint textlint-rule
Last synced: 11 days ago
JSON representation
Textlint rule to check correct terms spelling
- Host: GitHub
- URL: https://github.com/sapegin/textlint-rule-terminology
- Owner: sapegin
- License: mit
- Created: 2017-02-06T20:53:24.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T13:07:20.000Z (6 months ago)
- Last Synced: 2024-05-23T05:22:57.637Z (6 months ago)
- Topics: linter, terminology, text, textlint, textlint-rule
- Language: JavaScript
- Homepage:
- Size: 417 KB
- Stars: 46
- Watchers: 4
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Contributing: Contributing.md
- License: License.md
Awesome Lists containing this project
README
# textlint-rule-terminology
[![textlint fixable rule](https://img.shields.io/badge/textlint-fixable-green.svg?style=social)](https://textlint.github.io/) [![npm](https://img.shields.io/npm/v/textlint-rule-terminology.svg)](https://www.npmjs.com/package/textlint-rule-terminology) [![Node.js CI status](https://github.com/sapegin/textlint-rule-terminology/workflows/Node.js%20CI/badge.svg)](https://github.com/sapegin/textlint-rule-terminology/actions)
[Textlint](https://github.com/textlint/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.)
![](https://d3vv6lp55qjaqc.cloudfront.net/items/1p0s3e2p1U1m1r3N2Q41/terminology.png)
[![Washing your code. A book on clean code for frontend developers](https://sapegin.me/images/washing-code-github.jpg)](https://sapegin.me/book/)
## Installation
```shell
npm install textlint-rule-terminology
```## Usage
```shell
textlint --fix --rule terminology Readme.md
```## Configuration
You can configure the rule in your `.textlintrc`:
```js
{
"rules": {
"terminology": {
// Your options here
}
}
}
```Read more about [configuring textlint](https://github.com/textlint/textlint/blob/master/docs/configuring.md).
### `defaultTerms` (default: `true`)
Whether to load the [default replacements (terms)](./terms.jsonc). Example:
```js
{
"rules": {
"terminology": {
// Don't load default replacements
"defaultTerms": false,
}
}
}
```### `skip` (default `['BlockQuote']`)
Syntax elements to skip. By default skips blockquotes. Example:
```js
{
"rules": {
"terminology": {
// Don't check terms inside links
"skip": ["Link"],
}
}
}
```See [all available element types](https://github.com/textlint/textlint/blob/master/packages/%40textlint/ast-node-types/src/ASTNodeTypes.ts).
### `terms`
Additional replacements.
Could be an array of replacements:
```js
{
"rules": {
"terminology": {
// 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"]
],
}
}
}
```A path to a JSON file:
```js
{
"rules": {
"terminology": {
// Load terms from a file
"terms": "~/terms.jsonc",
}
}
}
```Or an npm module:
```js
{
"rules": {
"terminology": {
// Load terms from npm
"terms": "@chucknorris/terms",
}
}
}
```Check out [the default replacements](./terms.jsonc).
### `exclude`
If you don’t like any of [the default replacements](./terms.jsonc), you can _exclude_ them. For example, to exclude these entries:
```js
// terms.jsonc
[
'JavaScript',
'API',
['V[ -]?S[ -]?Code', 'Visual Studio Code'],
['walk-through', 'walkthrough'],
['(?Oh my javascript!
```
## Other textlint rules
- [textlint-rule-apostrophe](https://github.com/sapegin/textlint-rule-apostrophe) — correct apostrophe usage
- [textlint-rule-diacritics](https://github.com/sapegin/textlint-rule-diacritics) — words with diacritics
- [textlint-rule-quotes](https://github.com/sapegin/textlint-rule-quotes) — correct quotes usage
- [textlint-rule-stop-words](https://github.com/sapegin/textlint-rule-stop-words) — filler words, buzzwords and clichés## Change log
The change log can be found on the [Releases page](https://github.com/sapegin/textlint-rule-terminology/releases).
## Contributing
Bug fixes are welcome, but not new features. Please take a moment to review the [contributing guidelines](Contributing.md).
## Sponsoring
This software has been developed with lots of coffee, buy me one more cup to keep it going.
## Authors and license
[Artem Sapegin](https://sapegin.me) and [contributors](https://github.com/sapegin/textlint-rule-terminology/graphs/contributors).
MIT License, see the included [License.md](License.md) file. Also see the [project status](https://github.com/sapegin/textlint-rule-terminology/discussions/65).