mkfilter

1.1.3 • Public • Published

Filter

Build Status npm version Coverage Status

Filter nodes by type

Takes a map of filter flags and removes the matched types from the stream.

Install

npm i mkfilter --save

For the command line interface install mkdoc globally (npm i -g mkdoc).



Usage

Create the stream and write a commonmark document:

var filter = require('mkfilter')
  , ast = require('mkast');
ast.src('## Heading\n\nParagraph.')
  .pipe(filter({heading: true}))
  .pipe(ast.stringify({indent: 0}))
  .pipe(process.stdout);

Examples

Remove all headings from a document:

mkcat README.md | mkfilter --heading | mkout

Remove everything but headings and text from a document:

mkcat README.md | mkfilter --heading --text --invert | mkout

Print code blocks in a document:

mkcat README.md | mkfilter --code-block --invert | mkout

Be careful with inline elements, if the parent element is filtered out they are not included:

mkcat README.md | mkfilter --link --invert | mkout

But if you add a block level element to the filter:

mkcat README.md | mkfilter --link --paragraph --invert | mkout

They will be included in the output.

Help

mkfilter [options]

Filter nodes by type.

  -i, --invert            Invert the filter
  --document              Filter document nodes
  --softbreak             Filter softbreak nodes
  --linebreak             Filter linebreak nodes
  --list                  Filter list nodes
  --item                  Filter item nodes
  --paragraph             Filter paragraph nodes
  --text                  Filter text nodes
  --heading               Filter heading nodes
  --emph                  Filter emph nodes
  --strong                Filter strong nodes
  --link                  Filter link nodes
  --image                 Filter image nodes
  --code                  Filter code nodes
  --code-block            Filter code block nodes
  --block-quote           Filter block quote nodes
  --thematic-break        Filter thematic break nodes
  --html-inline           Filter html inline nodes
  --html-block            Filter html block nodes
  --custom-inline         Filter custom inline nodes
  --custom-block          Filter custom block nodes
  --eof                   Filter eof nodes
  -h, --help              Display help and exit
  --version               Print the version and exit

Report bugs to https://github.com/mkdoc/mkfilter/issues

API

filter

filter([opts][, cb])

Filter nodes by node type.

Returns an output stream.

  • opts Object processing options.
  • cb Function callback function.

Options

  • input Readable input stream.
  • output Writable output stream.

License

MIT


Created by mkdoc on April 2, 2016

Package Sidebar

Install

npm i mkfilter

Weekly Downloads

7

Version

1.1.3

License

MIT

Last publish

Collaborators

  • muji
  • tmpfs