remark is a Markdown processor powered by plugins part of the unified collective.
remark is the world’s most popular Markdown parser! And it does so much more than parse: it inspects (check, lint) and transforms (generate, compile) Markdown too!
Everything is possible with plugins, such as checking Markdown code
style (remark-lint
), transforming safely to React
(remark-react
), adding a table of
contents (remark-toc
), or compiling to man pages
(remark-man
).
On top of that, remark is part of the unified collective. Learn more about us:
- Visit
unifiedjs.com
and peruse its Learn section for an overview - Read unified’s readme for a technical intro
- Browse awesome remark to find out more about the ecosystem
- Follow us on Twitter to see what we’re up to
- Check out Contribute below to find out how to help out
This repository contains the following projects:
remark-parse
— Parse Markdown to syntax treesremark-stringify
— Serialize syntax trees to Markdownremark
— Programmatic interface with bothremark-parse
andremark-stringify
remark-cli
— Command line interface wrappingremark
Gatsby 🥇 |
Vercel 🥇 |
Netlify |
|||
Holloway |
ThemeIsle 🥉 |
BoostIO 🥉 |
Expo 🥉 |
You? |
As Markdown is sometimes used for HTML, and improper use of HTML can open you up
to a cross-site scripting (XSS) attack, use of remark can also be unsafe.
When going to HTML, use remark in combination with the rehype
ecosystem, and use rehype-sanitize
to make the tree safe.
Use of remark plugins could also open you up to other attacks. Carefully assess each plugin and the risks involved in using them.
See contributing.md
in remarkjs/.github
for ways
to get started.
See support.md
for ways to get help.
Ideas for new plugins and tools can be posted in remarkjs/ideas
.
Join us in spectrum to chat with the community and contributors.
A curated list of awesome resources can be found in awesome remark.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.