Nukem's Possible Manifestation

    retext-profanities
    TypeScript icon, indicating that this package has built-in type declarations

    7.2.0 • Public • Published

    retext-profanities

    Build Coverage Downloads Size Sponsors Backers Chat

    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 imported instead of required.

    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

    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

    Install

    npm i retext-profanities

    DownloadsWeekly Downloads

    17,339

    Version

    7.2.0

    License

    MIT

    Unpacked Size

    17.2 kB

    Total Files

    19

    Last publish

    Collaborators

    • wooorm