Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Rousseau

Build Status NPM version

Rousseau is a lightweight proofreader written in Javascript, it can be used in Node.JS, in the command line and in the browser.

Installation

$ npm install rousseau

API

var rousseau = require("rousseau");

rousseau('So the cat was stolen.', function(err, results) {
    ...
});

results is an array of object like:

{
    // Type of check that output this suggestion
    type: "so",

    // Level of importance
    // "suggestion", "warning", "error"
    level: "warning",

    // Index in the text
    index: 10,

    // Size of the section in the text
    offset: 2,

    // Message to describe the suggestion
    message: "omit 'So' from the beginning of sentences",

    // Replacements suggestion
    replacements: [
        {
            value: ""
        }
    ]
}

Checks

You can disable any combination of the following by providing a key with value false as option checks to rousseau.

English
ID Description
passive Checks for passive voice
lexical-illusion Checks for lexical illusions – cases where a word is repeated.
so Checks for so at the beginning of the sentence.
adverbs Checks for adverbs that can weaken meaning: really, very, extremely, etc.
readibility Checks for readibility of sentences.
simplicity Checks for simpler expressions
weasel Checks for "weasel words."
sentence:start Checks that sentence is preceded by a space
sentence:end Checks that there is no space between a sentence and its ending punctuation
sentence:uppercase Checks that sentences are starting with uppercase letter

Extend Rousseau

Example: Extend rousseau with a Spellchecker.

rousseau("Some text", {
    checks: {
        spelling: rousseau.tokenize.check([
            rousseau.tokenize.words(),
            rousseau.filter(function(word) {
                return wordIsValid(word);
            }),
            rousseau.define({
                level: rousseau.levels.ERROR,
                message: "Spelling error"
            })
        ])
    }
}, function(err, results) {
    ...
})

Cache

Rousseau use an internal cache for certain operations (tokenization, spellchecking, ...); this cache can be configured using the option cache:

rousseau('So the cat was stolen.', {
    cache: 100 // A maximum of 100 elements will be stored in the memory cache
}, function(err, results) {
    ...
});

Contributing

We'd love to accept your patches and contributions to improve Rousseau (supported languages, checks, ...). Learn more about how to contribute in CONTRIBUTING.md.

About

Lightweight proofreader in JS

Resources

License

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •