Alexandro.Net

Download README · GitHub release

@stackline/retext-equality

retext plugin to warn about possible insensitive, inconsiderate language.

npm version license GitHub repository Docs Reddit community

Documentation | npm | Issues | Repository

Current package version: 1.0.2


Why this package?

@stackline/retext-equality is the Stackline-maintained distribution of retext-equality@6.6.0. It is an independent continuation of retext-equality; original authors and licenses remain credited below.

Compatibility

Item Value
Package @stackline/retext-equality@1.0.2
API target retext-equality@6.6.0
Supported Node.js See supported framework requirements
License MIT
Module type module
Main entry index.js
Types index.d.ts
Runtime dependencies vfile, unified, quotation, @types/nlcst, @types/unist, nlcst-search, unist-util-is, nlcst-normalize, nlcst-to-string, unist-util-visit

Installation

npm install @stackline/retext-equality

Preserve existing imports and plugin resolution with an npm alias:

npm install retext-equality@npm:@stackline/retext-equality

Usage and API reference

retext-equality

retext plugin to check for possible insensitive, inconsiderate language.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install @stackline/retext-equality

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 retextEquality from '@stackline/retext-equality'
import retextStringify from 'retext-stringify'

const file = readSync('example.txt')

unified()
  .use(retextEnglish)
  .use(retextEquality)
  .use(retextStringify)
  .process(file)
  .then((file) => {
    console.error(reporter(file))
  })

Now, running node example yields:

example.txt
  1:1-1:5  warning  `He’s` may be insensitive, use `They`, `It` instead  he-she  retext-equality

⚠ 1 warning

API

This package exports no identifiers. The default export is retextEquality.

unified().use(retextEquality[, options])

Check for possible insensitive, inconsiderate language.

options.ignore

List of phrases not to warn about (Array.<string>).

options.noBinary

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.

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 ('@stackline/retext-equality').

message.ruleId

See id in rules.md.

message.actual

Current not ok phrase (string).

message.expected

Suggest ok phrase (Array.<string>).

message.note

Extra information, when available (string?).

Related

Contributing

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, organization, or community you agree to abide by its terms.

License

MIT © Titus Wormer

Credits and original authors

Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.

Community and Links

Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.