Naive linter for English prose for developers who can't write good and wanna do other stuff good too.
npm install write-good
writeGood
is a function that takes a string and returns an array of suggestions.
var writeGood = require('write-good');
var suggestions = writeGood('So the cat was stolen.');
// suggestions:
//
// [{
// suggestion: "omit 'So' from the beginning of sentences",
// index: 0, offset: 2
// }, {
// suggestion: "'was stolen' is passive voice",
// index: 11, offset: 10
// }]
writeGood
takes an optional second argument that allows you to disable certain checks.
You can disable checking for passive voice like this:
var writeGood = require('write-good');
var suggestions = writeGood('So the cat was stolen', { passive: false});
// suggestions: []
You can use write-good
as a command-line tool by installing it globally:
npm install -g write-good
write-good
takes a glob and prints suggestions to stdout:
$ write-good *.md
In README.md
=============
= writeGood('So the cat was stolen.');
^^^^^^^^^^
"was stolen" is passive voice on line 20 at column 40
-------------
// suggestion: "'was stolen' is passive voice",
^^^^^^^^^^
"was stolen" is passive voice on line 28 at column 19
You can run just specific checks like this:
write-good *.md --weasel --so
Or exclude checks like this:
write-good *.md --no-passive
You can disable any combination of the following by providing a key with value false
as the second argument to writeGood
.
Checks for passive voice.
Checks for lexical illusions – cases where a word is repeated.
Checks for so
at the beginning of the sentence.
Checks for "weasel words."
I came across these resources while doing research to make this module. They might be helpful.
- shell script for avoiding "weasel words" – I based my initial implementation on this
- Academic Writing Check – a perl script similar to above
- writegood mode for emacs
- natural – general purpose NLP toolkit in JavaScript
- WordNet – lexical database of the English language
This is not an endorsement. These apps have similar functionality that you may find useful.
MIT