252 lines (216 sloc) 13.2 KB



remark is an ecosystem of plugins.

See tools built with remark ».

Table of Contents

List of Plugins

Have a good idea for a new plugin? Let’s chat and make it happen!

List of Presets

See npm search for available and often inspirational presets.

List of Utilities

See MDAST for a list of utilities for working with the syntax tree. See unist for other utilities which work with MDAST nodes, too.

And finally, see vfile for a list of utilities working with virtual files.

Using plugins

To use a plugin programmatically, invoke the use() function.

To use plugin with remark-cli, pass a --use flag or specify it in a configuration file.

Creating plugins

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 do, and work from there. If you get stuck, issues and Gitter are good places to get help.

You should pick a name prefixed by 'remark-', such as remark-lint.

Note that, if the thing you create cannot be given to remark().use(), it isn’t a “plugin”. Don’t use the remark- prefix as that could confuse users. If it works with the HAST tree, use 'mdast-util-', if it works with any Unist tree, use unist-util-, if it works with virtual files, use vfile-.