rehype-wrap-element
v1.0.1
Published
a rehype micro-plugin that wraps an element in another element
Readme
rehype-wrap-element
a rehype micro-plugin that wraps an
elementin anotherelement
Table of Contents
installation
$ npm install rehype-wrap-element$ yarn add rehype-wrap-element$ pnpm add rehype-wrap-elementUsage
Example:
wrapping a
strongelement in adivelement with a class namewrapper
import { unified } from "unified";
import remarkParse from "remark-parse";
import remarkRehype from "remark-rehype";
import {
rehypeWrapElement,
rehypeWrapElementOptions,
} from "rehype-wrap-element";
import rehypeStringify from "rehype-stringify";
const file = await unified()
.use(remarkParse)
.use(remarkRehype)
.use(rehypeWrapElement, {
target: "strong",
wrapper: { element: "div", className: "wrapper" },
} satisfies rehypeWrapElementOptions)
.use(rehypeStringify)
.process("**Hello, World!**");Output:
<div class="wrapper">
<strong>Hello, World!</strong>
</div>Options
Options
The rehypeWrapElement function accepts the following options:
target (required)
The target element to be wrapped. It can be either a string representing the element name or an object of type ElementOptions.
wrapper (required)
The wrapper element that will be used to wrap the target element. It can be either a string representing the element name or an object of type ElementOptions.
ElementOptions
The ElementOptions interface defines the options for wrapping an element. It has the following properties:
element(required): The name of the element to be used as the wrapper.className(optional): The class name to be added to the wrapper element.
rehypeWrapElementOptions
The rehypeWrapElementOptions type is the parameter type for the rehypeWrapElement function. It has the following properties:
target(required): The target element to be wrapped. It can be either a string representing the element name or an object of typeElementOptions.wrapper(required): The wrapper element that will be used to wrap the target element. It can be either a string representing the element name or an object of typeElementOptions.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Authors
License
- MIT license
