retext is a tool that transforms natural language with plugins. See the monorepo readme for info on what the retext ecosystem is. This page lists existing plugins.
See awesome-retext for the most awesome projects in the
ecosystem.
More plugins can be found on GitHub tagged with the
retext-plugin topic.
The list of plugins:
retext-assuming— check for unhelpful phrases such asjust,simply,obviouslyretext-case-police— check for popular names casing (github→GitHub)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-intensify— check for weak and mitigating wordingretext-keywords— extract keywords and keyphrasesretext-latin— Latin-script language supportretext-lexrank— add Lexrank scores to sentencesretext-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 forrepeated 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— serialize back to textretext-syntax-mentions— classify@mentionsas syntaxretext-syntax-urls— classify url-like values (example.com, example.md, etc) as syntaxretext-usage— check incorrect English usageretext-quotes— check quote and apostrophe usage
See nlcst for a list of utilities that work with the syntax tree. See unist for other utilities which work with nlcst and other syntax trees too. Finally, see vfile for a list of utilities working with virtual files.
To use a plugin programmatically, call the use() function.
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, discussions is a good place to get help.
You should pick a name prefixed by 'retext-' (such as retext-emoji).
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-', if it works with any unist tree, use
unist-util-, and if it works with virtual files, use vfile-.
Use default exports to expose plugins from your packages, add retext-plugin
keywords in package.json, add a retext-plugin topic to your repo on GitHub,
and create a pull request to add the plugin here on this page!