retext plugin to check for possible insensitive, inconsiderate language.
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:
var vfile = require('to-vfile')
var report = require('vfile-reporter')
var unified = require('unified')
var english = require('retext-english')
var stringify = require('retext-stringify')
var equality = require('retext-equality')
unified()
.use(english)
.use(equality)
.use(stringify)
.process(vfile.readSync('example.txt'), function(err, file) {
console.error(report(err || file))
})
Now, running node example
yields:
example.txt
1:1-1:4 warning `His` may be insensitive, use `Their`, `Theirs`, `Them` instead her-him retext-equality
1:31-1:37 warning `master` / `slave` may be insensitive, use `primary` / `replica` instead master-slave retext-equality
⚠ 2 warnings
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, organisation, or community you agree to abide by its terms.