Skip to content

Commit

Permalink
docs(readme): update readme
Browse files Browse the repository at this point in the history
update usage examples
  • Loading branch information
web-mech committed Aug 17, 2024
1 parent 0e54749 commit 22cd3ec
Showing 1 changed file with 28 additions and 78 deletions.
106 changes: 28 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

A javascript filter for badwords

[![Build Status](https://travis-ci.org/web-mech/badwords.svg?branch=master)](https://travis-ci.org/web-mech/badwords)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)

Expand All @@ -12,140 +11,91 @@ As of version 2, requires you either have an environment that understands ES2016

## Installation

npm install bad-words --save
yarn add bad-words

## Usage

```js
var Filter = require('bad-words'),
filter = new Filter();
import { Filter } from 'bad-words'
...
const filter = new Filter();

console.log(filter.clean("Don't be an ash0le")); //Don't be an ******
```

### Placeholder Overrides

```js
var Filter = require('bad-words');
var customFilter = new Filter({ placeHolder: 'x'});
const customFilter = new Filter({ placeHolder: 'x' })

customFilter.clean("Don't be an ash0le"); //Don't be an xxxxxx
customFilter.clean("Don't be an ash0le") //Don't be an xxxxxx
```

### Regex Overrides

```js
var filter = new Filter({ regex: /\*|\.|$/gi });
const filter = new Filter({ regex: /\*|\.|$/gi })

var filter = new Filter({ replaceRegex: /[A-Za-z0-9가-힣_]/g });
const filter = new Filter({ replaceRegex: /[A-Za-z0-9가-힣_]/g })
//multilingual support for word filtering
```

### Add words to the blacklist

```js
var filter = new Filter();
const filter = new Filter()

filter.addWords('some', 'bad', 'word');
filter.addWords('some', 'bad', 'word')

filter.clean("some bad word!") //**** *** ****!
filter.clean('some bad word!') //**** *** ****!

//or use an array using the spread operator

var newBadWords = ['some', 'bad', 'word'];
const newBadWords = ['some', 'bad', 'word']

filter.addWords(...newBadWords);
filter.addWords(...newBadWords)

filter.clean("some bad word!") //**** *** ****!
filter.clean('some bad word!') //**** *** ****!

//or

var filter = new Filter({ list: ['some', 'bad', 'word'] });
const filter = new Filter({ list: ['some', 'bad', 'word'] })

filter.clean("some bad word!") //**** *** ****!
filter.clean('some bad word!') //**** *** ****!
```

### Instantiate with an empty list

```js
var filter = new Filter({ emptyList: true });
filter.clean('hell this wont clean anything'); //hell this wont clean anything
const filter = new Filter({ emptyList: true })
filter.clean('hell this wont clean anything') //hell this wont clean anything
```

### Remove words from the blacklist

```js
let filter = new Filter();
const filter = new Filter()

filter.removeWords('hells', 'sadist');
filter.removeWords('hells', 'sadist')

filter.clean("some hells word!"); //some hells word!
filter.clean('some hells word!') //some hells word!

//or use an array using the spread operator

let removeWords = ['hells', 'sadist'];
const removeWords = ['hells', 'sadist']

filter.removeWords(...removeWords);
filter.removeWords(...removeWords)

filter.clean("some sadist hells word!"); //some sadist hells word!
filter.clean('some sadist hells word!') //some sadist hells word!
```

### API
#### Table of Contents

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

#### constructor

Filter constructor.

**Parameters**

- `options` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Filter instance options (optional, default `{}`)
- `options.emptyList` **[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Instantiate filter with no blacklist
- `options.list` **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** Instantiate filter with custom list
- `options.placeHolder` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Character used to replace profane words.
- `options.regex` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Regular expression used to sanitize words before comparing them to blacklist.
- `options.replaceRegex` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Regular expression used to replace profane words with placeHolder.

#### isProfane

Determine if a string contains profane language.

**Parameters**

- `string` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** String to evaluate for profanity.

#### replaceWord

Replace a word with placeHolder characters;

**Parameters**
## API

- `string` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** String to replace.

#### clean

Evaluate a string for profanity and return an edited version.

**Parameters**

- `string` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Sentence to filter.

#### addWords

Add word(s) to blacklist filter / remove words from whitelist filter

**Parameters**

- `word` **...[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Word(s) to add to blacklist

#### removeWords

Add words to whitelist filter

**Parameters**
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

- `word` **...[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Word(s) to add to whitelist.
### Table of Contents

## Testing

Expand Down

0 comments on commit 22cd3ec

Please sign in to comment.