Skip to content

kavin81/rehype-wrap-element

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rehype-wrap-element

a rehype micro-plugin that wraps an element in another element

NPM License NPM Version

Table of Contents

installation

$ npm install rehype-wrap-element
$ yarn add rehype-wrap-element
$ pnpm add rehype-wrap-element

Usage

Example:

wrapping a strong element in a div element with a class name wrapper

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 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.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Authors

License

  • MIT license