Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rehype-wrap

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rehype-wrap

wrap selected elements with a given element

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
decreased by-19.79%
Maintainers
1
Weekly downloads
 
Created
Source

rehype-wrap

Wrap selected elements with a given element

Travis Coverage Status David

Install

npm i -S rehype-wrap

Usage

const wrap = require('rehype-wrap')
const rehype = require('rehype')

rehype()
  .use(wrap, {/* options */})
  .process(/* html string */)
  .then(/* vfile */)
  .catch(/* handle any errors */)

Options

wrap.selector

string

Select an element to be wrapped. Expects a string selector that can be passed to hast-util-select (supported selectors). If wrap.selector is not set then wrap will check for a body element and wrap all elements inside. Otherwise, if there is no body element, wrap treats the html as a fragment and wraps everything.

wrap.wrapper

string

Element to wrap around wrap.selector. Expects a string selector that can be parsed into html using hast-util-parse-selector (see readme)

Example

# dependencies

npm i unified to-vfile remark-parse remark-rehype vfile-reporter rehype-document rehype-stringify remark-wrap
# example.md

```js
const foo = 'bar'
```
/* example.js */

'use strict'

const unified = require('unified')
const toVfile = require('to-vfile')
const remarkParse = require('remark-parse')
const remarkRehype = require('remark-rehype')
const vfileReporter = require('vfile-reporter')
const rehypeDocument = require('rehype-document')
const rehypeStringify = require('rehype-stringify')
const rehypeWrap = require('rehype-wrap')

const markdown = toVfile.readSync('./example.md')


unified()
  .use(remarkParse)
  .use(remarkRehype)
  .use(rehypeDocument)
  .use(rehypeWrap, {wrapper: 'div.markdown-body'})
  .use(rehypeStringify)
  .process(markdown, (err, file) => {
    console.error(vfileReporter(err ||file))
    console.log(String(file))
  })
<!— output —>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body><div class="markdown-body">
<h1>Foo</h1>
<pre><code class="language-js">const foo = 'bar'
</code></pre>
</div></body>
</html>

Acknowledgments

Rehype-wrap depends on a few great packages you should check out.

License

MIT © Paul Zimmer

Keywords

FAQs

Package last updated on 02 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc