Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including retext-profanities with all npm packages installed. Try it out:

var retextProfanities = require("retext-profanities")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

retext-profanities v6.0.0

retext plugin to check for profane and vulgar wording

retext-profanities

Build Coverage Downloads Size Sponsors Backers Chat

retext plugin to check for profane and vulgar wording. Uses cuss for sureness.

Install

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:

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 profanities = require('retext-profanities')

unified()
  .use(english)
  .use(profanities)
  .use(stringify)
  .process(vfile.readSync('example.txt'), function(err, file) {
    console.error(report(err || 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

retext().use(profanities[, 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 Brazilian Portuguese (retext-profanities/pt-br) 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

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.

License

MIT © Titus Wormer

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free