Package Exports
- retext-profanities
- retext-profanities/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (retext-profanities) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
retext-profanities
retext plugin to check for possible profane and vulgar wording.
Contents
- What is this?
- When should I use this?
- Install
- Use
- API
- Rules
- Messages
- Types
- Compatibility
- Related
- Contribute
- License
What is this?
This package is a unified (retext) plugin to check for possible
profane or otherwise vulgar wording, in certain contexts.
It uses cuss for sureness.
When should I use this?
You can opt-into this plugin when you’re dealing with your own text and want to check for potential mistakes.
Install
This package is ESM only. In Node.js (version 14.14+, 16.0+), install with npm:
npm install retext-profanitiesIn Deno with esm.sh:
import retextProfanities from 'https://esm.sh/retext-profanities@7'In browsers with esm.sh:
<script type="module">
import retextProfanities from 'https://esm.sh/retext-profanities@7?bundle'
</script>Use
Say our document example.txt contains:
He’s pretty set on beating your butt for sheriff.…and our module example.js looks as follows:
import {read} 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 = await unified()
.use(retextEnglish)
.use(retextProfanities)
.use(retextStringify)
.process(await read('example.txt'))
console.error(reporter(file))…now running node example.js yields:
example.txt
1:33-1:37 warning Be careful with “butt”, it’s profane in some cases butt retext-profanities
⚠ 1 warningAPI
This package exports no identifiers.
The default export is retextProfanities.
unified().use(retextProfanities[, options])
Check for possible profane and vulgar wording.
options
Configuration (optional).
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 ([]).
Types
This package is fully typed with TypeScript.
It exports the additional type Options.
Compatibility
Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed. It also works in Deno and modern browsers.
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.