UNPKG

grawlix-racism

Version:

Replaces racial slurs with nonsensical symbols

130 lines (98 loc) 3.23 kB
grawlix-racism ============== A plugin for [`grawlix`](https://www.npmjs.com/package/grawlix) that focuses on replacing racial and ethnic slurs with nonsensical characters. This module adds filters for twenty-four different racist terms and their variants. **WARNING: THIS PACKAGE DEALS DIRECTLY WITH WORDS AND TERMS THAT MANY FIND OFFENSIVE, IMPOLITE, AND/OR DISTASTEFUL. ALL FILES IN THE REPOSITORY SHOULD BE CONSIDERED NSFW/NOT SAFE FOR WORK OR SCHOOL UNLESS STATED OTHERWISE. PLEASE READ THE SOURCE CODE AT YOUR OWN RISK!** To see the full list of words handled by this plugin, [click here \(NSFW\)](https://github.com/tinwatchman/grawlix-racism/blob/master/WORDS.json). To learn more about the `grawlix` package, visit its [repository](https://github.com/tinwatchman/grawlix). ## Installation This plugin requires `grawlix`. ```sh npm install grawlix-racism --save ``` ## Usage ```javascript var grawlix = require('grawlix'); grawlix.setDefaults({ plugins: [ { plugin: require('grawlix-racism'), options: { style: 'nazi' } } ] // other options... }); // or alternately: grawlix.loadPlugin('grawlix-racism', { style: 'nazi' }); ``` ## Options ### style Type: `String`<br> Default: `'nazi'` Sets the distinct style of grawlix used to replace racial and ethnic slurs. By default, any slurs found by this plugin will be replaced using its own ['nazi' style](#style_nazi), as opposed to whatever main style has been set in the `grawlix` options. This is intended to specifically highlight and call out filtered content that uses racially-insensitive language. To turn this feature off, set this property to `false` in the plugin options: ```javascript grawlix.setDefaults({ plugins: [ { plugin: require('grawlix-racism'), options: { style: false } } ] }); // or: grawlix.loadPlugin('grawlix-racism', { style: false }); ``` You can also use this option to specify a distinct style other than `'nazi'`: ```javascript grawlix.setDefaults({ style: 'redacted', plugins: [ { plugin: require('grawlix-racism'), options: { style: 'asterix' } } ] }); // result of these settings: slurs will be replaced by '*' characters, // while other obscenities will be replaced by '█'s. ``` ## Filters [Click here \(NSFW\)](https://github.com/tinwatchman/grawlix-racism/blob/master/WORDS.json) to see a full list of the racial and ethnic slurs targeted by this plugin. ## Styles <a name="style_nazi"></a> ### Nazi Single-Character Grawlix Style<br> Name String: `'nazi'`<br> Character: `'卐'` Replaces found words with swastika (`卐`) symbols. Useful for pointing out or calling attention to hate speech. ```javascript grawlix.setDefaults({ style: 'nazi', filters: [ { word: 'racialslur', pattern: /racialslur/i } ] }); grawlix('some kind of racialslur'); // output: 'some kind of 卐卐卐卐卐卐卐卐卐卐' ``` ## Testing ```sh npm test ``` ## Release History - 1.0.2 * Shortened `useDistinctStyle` option to `style` ## Credits and Licensing Created by [Jon Stout](http://www.jonstout.net). Licensed under [the MIT license](http://opensource.org/licenses/MIT).