README
retext-profanities
retext plugin to check for profane and vulgar
wording.
Uses cuss
for sureness.
Install
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-profanities
Use
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 retextProfanities from 'retext-profanities'
import retextStringify from 'retext-stringify'
const file = readSync('example.txt')
unified()
.use(retextEnglish)
.use(retextProfanities)
.use(retextStringify)
.process(file)
.then((file) => {
console.error(reporter(file))
})
Now, running node example
yields:
example.txt
1:33-1:37 warning Be careful with “butt”, it’s profane in some cases butt retext-profanities
⚠ 1 warning
API
This package exports no identifiers.
The default export is retextProfanities
.
unified().use(retextProfanities[, options])
check for profane and vulgar wording.
Uses cuss
for sureness.
options.ignore
Phrases not to warn about (Array.<string>
, default: []
).
options.sureness
Minimum sureness to warn about, see cuss
(number
, default: 0
).
Rules
See rules.md
for a list of rules.
Note that Latin-script Arabic (retext-profanities/ar-latn
), French
(retext-profanities/fr
), Spanish (retext-profanities/es
), Italian
(retext-profanities/it
), and Portuguese (Brazilian) (retext-profanities/pt
)
are also supported.
Messages
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:
message.source
Name of this plugin ('retext-profanities'
).
message.ruleId
See id
in rules.md
.
message.profanitySeverity
Cuss sureness (number
).
message.actual
Profane phrase (string
).
message.expected
Empty array to signal that actual
should be removed or changed ([]
).
Related
retext-equality
— Check possible insensitive, inconsiderate languageretext-passive
— Check passive voiceretext-simplify
— Check phrases for simpler alternatives
Contribute
See contributing.md
in retextjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.