rehype-cli
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatCommand line interface to inspect and change HTML files with rehype.
Contents
What is this?
This package is a command line interface (CLI) that you can use in your terminal or in npm scripts and the like to inspect and change HTML files. This CLI is built around rehype, which is an ecosystem of plugins that work with HTML as structured data, specifically ASTs (abstract syntax trees). You can choose from the existing plugins or make your own.See the monorepo readmerehype for info on what the rehype ecosystem is.
When should I use this?
You can use this package when you want to work with the HTML files in your project from the command line.rehype-cli
has many options and you can combine it with many plugins, so it
should be possible to do what you want.
If not, you can always use rehype
rehype-core itself manually in a script.Install
This package is ESM onlyesm. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:npm install rehype-cli
Use
Formatindex.html
with rehype-format
rehype-format:rehype index.html --use rehype-format --output
CLI
The interface ofrehype-cli
is explained as follows on its help page
(rehype --help
):Usage: rehype [options] [path | glob ...]
CLI to process HTML with rehype
Options:
-h --help output usage information
-v --version output version number
-o --output [path] specify output location
-r --rc-path <path> specify configuration file
-i --ignore-path <path> specify ignore file
-s --setting <settings> specify settings
-e --ext <extensions> specify extensions
-u --use <plugins> use plugins
-w --watch watch for changes and reprocess
-q --quiet output only warnings and errors
-S --silent output only errors
-f --frail exit with 1 on warnings
-t --tree specify input and output as syntax tree
--report <reporter> specify reporter
--file-path <path> specify path to process as
--ignore-path-resolve-from dir|cwd resolve patterns in `ignore-path` from its directory or cwd
--ignore-pattern <globs> specify ignore patterns
--silently-ignore do not fail when given ignored files
--tree-in specify input as syntax tree
--tree-out output syntax tree
--inspect output formatted syntax tree
--[no-]stdout specify writing to stdout (on by default)
--[no-]color specify color in report (on by default)
--[no-]config search for configuration files (on by default)
--[no-]ignore search for ignore files (on by default)
Examples:
# Process `input.html`
$ rehype input.html -o output.html
# Pipe
$ rehype < input.html > output.html
# Rewrite all applicable files
$ rehype . -o
More information on all these options is available at
unified-args
unified-args, which does the work.
rehype-cli
is unified-args
preconfigured to:- Load
rehype-
plugins - Search for HTML extensions (
.html
,.htm
,.xht
,.xhtml
) - Ignore paths found in
.rehypeignore
filesignore-file - Load configuration from
[`.rehyperc`, `.rehyperc.js`, etc files][config-file]
- Use configuration from
[`rehype` fields in `package.json` files][config-file]
Compatibility
Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 12.20+, 14.14+, and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed.Security
As rehype works on HTML, and improper use of HTML can open you up to a cross-site scripting (XSS)xss attack, use of rehype can also be unsafe. Userehype-sanitize
rehype-sanitize to make the tree safe.Use of rehype plugins could also open you up to other attacks. Carefully assess each plugin and the risks involved in using them.
For info on how to submit a report, see our security policysecurity.
Contribute
Seecontributing.md
contributing in rehypejs/.github
health for ways
to get started.
See support.md
support for ways to get help.This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.
Sponsor
Support this effort and give back by sponsoring on OpenCollectivecollective!
Vercel |
Motif |
HashiCorp |
GitBook |
Gatsby |
||||
Netlify![]() |
Coinbase |
ThemeIsle |
Expo |
Boost Note![]() |
Holloway |
|||
You? |