README
write gooder
Naive linter for English prose for developers who can't write good and wanna do other stuff good too.
A fork of write-good by Brian Ford.
Use
npm install write-gooder
Important: Do not use this tool to be a jerk to other people about their writing.
API
writeGooder
is a function that takes a string and returns an array of suggestions.
var writeGooder = require('write-gooder');
var suggestions = writeGooder('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
// }]
writeGooder
takes an optional second argument that allows you to disable certain checks.
You can disable checking for passive voice like this:
var writeGooder = require('write-gooder');
var suggestions = writeGooder('So the cat was stolen', { passive: false});
// suggestions: []
CLI
You can use write-gooder
as a command-line tool by installing it globally:
npm install -g write-gooder
write-gooder
takes a glob and prints suggestions to stdout:
$ write-gooder *.md
In README.md
=============
= writeGooder('So the cat was stolen.');
"was stolen" is passive voice
line 20 column 40
-------------
// suggestion: "'was stolen' is passive voice",
"was stolen" is passive voice
line 28 column 19
You can run just specific checks like this:
write-gooder *.md --weasel --so
Or exclude checks like this:
write-gooder *.md --no-passive
Checks
You can disable any combination of the following by providing a key with value false
as the second argument to writeGooder
.
passive
Checks for passive voice.
illusion
Checks for lexical illusions – cases where a word is repeated.
so
Checks for so
at the beginning of the sentence.
thereIs
Checks for there is
or there are
at the beginning of the sentence.
weasel
Checks for "weasel words."
See also
I came across these resources while doing research to make this module. They might be helpful.
Code
- 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
Prose
Apps
This is not an endorsement. These apps have similar functionality that you may find useful.
License
MIT