retext is a natural language processor powered by plugins part of the unified collective.
See awesome retext for the most awesome projects in the ecosystem.
More plugins can be found on GitHub tagged with the
retext-plugin
topic.
Have a good idea for a new plugin? See Creating plugins below.
retext-cliches
— check phrases for clichesretext-contractions
— check apostrophe use in contractionsretext-diacritics
— check for proper use of diacriticsretext-dutch
— dutch language supportretext-english
— English language supportretext-emoji
— encode or decode gemojiretext-equality
— warn about possible insensitive, inconsiderate languageretext-indefinite-article
— check if indefinite articles (a
,an
) are used correctlyretext-keywords
— extract keywords and keyphrasesretext-latin
— Latin-script language supportretext-overuse
— check words for overuseretext-passive
— check for passive voiceretext-profanities
— check profane and vulgar wordingretext-readability
— check readabilityretext-redundant-acronyms
— check redundant acronyms (ATM machine
>ATM
)retext-repeated-words
— checkfor for
repeated wordsretext-sentence-spacing
— check spacing between sentencesretext-sentiment
— detect sentiment in textretext-simplify
— check phrases for simpler alternativesretext-smartypants
— implementation of SmartyPantsretext-spell
— check spellingretext-stringify
— compile back to textretext-syntax-mentions
— classify@mentions
as syntaxretext-usage
— check incorrect English usageretext-quotes
— check quote and apostrophe usage
See nlcst for a list of utilities for working with the syntax
tree.
See unist
for other utilities which work with nlcst
nodes, too.
Finally, see vfile for a list of utilities working with
virtual files.
To use a plugin invoke the use()
function.
Have an idea for a plugin? Post it on spectrum or in ideas and make it happen!
To create a plugin, first read up on the concept of plugins. Then, read the guide on “Creating a plugin with unified”. Finally, take one of existing plugins, which looks similar to what you’re about to make, and work from there. If you get stuck, spectrum, ideas, and issues are good places to get help.
You should pick a name prefixed by 'retext-'
, such as retext-spell
.
Do not use the retext-
prefix if the thing you create doesn’t work with
retext().use()
: it isn’t a “plugin” and will confuse users.
If it works with nlcst, use 'nlcst-util-'
, if it works with any unist tree,
use unist-util-
, and if it works with virtual files, use vfile-
.