retext plugin to check for possible insensitive, inconsiderate language.
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install retext-equality
Say we have the following file, example.txt
:
He’s pretty set on beating your butt for sheriff.
…and our script, example.js
, looks like this:
import {readSync} from 'to-vfile'
import {reporter} from 'vfile-reporter'
import {unified} from 'unified'
import retextEnglish from 'retext-english'
import retextEquality from 'retext-equality'
import retextStringify from 'retext-stringify'
const file = readSync('example.txt')
unified()
.use(retextEnglish)
.use(retextEquality)
.use(retextStringify)
.process(file)
.then((file) => {
console.error(reporter(file))
})
Now, running node example
yields:
example.txt
1:1-1:5 warning `He’s` may be insensitive, use `They`, `It` instead he-she retext-equality
⚠ 1 warning
This package exports no identifiers.
The default export is retextEquality
.
Check for possible insensitive, inconsiderate language.
List of phrases not to warn about (Array.<string>
).
Do not allow binary references (boolean
, default: false
).
By default he
is warned about unless it’s followed by something like or she
or and she
.
When noBinary
is true
, both cases would be warned about.
See rules.md
for a list of rules and how rules work.
Each message is emitted as a VFileMessage
on file
, with the
following fields:
Name of this plugin ('retext-equality'
).
See id
in rules.md
.
Current not ok phrase (string
).
Suggest ok phrase (Array.<string>
).
Extra information, when available (string?
).
alex
— Catch insensitive, inconsiderate writingretext-passive
— Check passive voiceretext-profanities
— Check for profane and vulgar wordingretext-simplify
— Check phrases for simpler alternatives
See contributing.md
in retextjs/.github
for ways
to get started.
See support.md
for ways to get help.
To create new patterns, add them in the YAML files in the data/
directory, and run npm install
and then npm test
to build everything.
Please see the current patterns for inspiration.
New English rules will be automatically added to rules.md
.
Once you are happy with the new rule, add a test for it in test.js
and
open a pull request.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.