/rehype-ignore

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

Primary LanguageTypeScriptMIT LicenseMIT

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()

Related

Contributors

As always, thanks to our amazing contributors!

Made with action-contributors.

License

MIT © Kenny Wong