unified

Project: jaywcjlove/rehype-ignore

Package: rehype-ignore@1.0.4

  1. Ignore content display via HTML comments, Shown in GitHub readme, excluded in HTML.
  1. unified 180
  2. markdown 152
  3. html 123
  4. rehype 91
  5. ast 37
  6. javascript 26
  7. element 6

rehype-ignore

Buy me a coffee Downloads NPM version Build Coverage Status Repo Dependents

Ignore content display via HTML comments, Shown in GitHub readme, excluded in HTML.

Installation

This package is ESM only: Node 12+ is needed to use it and it must be import instead of require.

npm install rehype-ignore

Options

export declare type RehypeIgnoreOptions = {
  /**
   *  Character to use for opening delimiter, by default `rehype:ignore:start`
   */
  openDelimiter?: string;
  /**
   * Character to use for closing delimiter, by default `rehype:ignore:end`
   */
  closeDelimiter?: string;
};

Usage

import { rehype } from 'rehype';
import rehypeIgnore from 'rehype-ignore';

rehype()
  .data('settings', { fragment: true })
  .use(rehypeIgnore, { })

HTML Example

<h1>header</h1>
<p>
  Hello <!--rehype:ignore:start--> <code>World</code> <!--rehype:ignore:end-->
</p>

Output:

<h1>header</h1>
<p>
  Hello </p>
import { rehype } from 'rehype';
import rehypeIgnore from 'rehype-ignore';

const html = `<h1>header</h1>
<p>
  Hello <!--rehype:ignore:start--> <code>World</code> <!--rehype:ignore:end-->
</p>`

const htmlStr = rehype()
  .data('settings', { fragment: true })
  .use(rehypeAttrs, { properties: 'attr' })
  .processSync(html)
  .toString()

Markdown Example

# Hello World

<!--rehype:ignore:start-->Hello World<!--rehype:ignore:end-->

Good!

Output:

<h1>Hello World</h1>

<p>Good!</p>
import { unified } from 'unified';
import rehypeIgnore from 'rehype-ignore';
import remarkParse from 'remark-parse';
import remark2rehype from 'remark-rehype';
import rehypeRaw from 'rehype-raw';
import stringify from 'rehype-stringify';

const html = `# Hello World

<!--rehype:ignore:start-->Hello World<!--rehype:ignore:end-->

Good!`

const htmlStr = unified()
  .use(remarkParse)
  .use(remark2rehype, { allowDangerousHtml: true })
  .use(rehypeRaw)
  .use(rehypeIgnore, { })
  .use(stringify)
  .processSync(html)
  .toString()

Contributors

As always, thanks to our amazing contributors!

Made with action-contributors.

License

MIT © Kenny Wong