Filter nodes by type
Takes a map of filter flags and removes the matched types from the stream.
npm i mkfilter --save
For the command line interface install mkdoc globally (npm i -g mkdoc).
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);Remove all headings from a document:
mkcat README.md | mkfilter --heading | mkoutRemove everything but headings and text from a document:
mkcat README.md | mkfilter --heading --text --invert | mkoutPrint code blocks in a document:
mkcat README.md | mkfilter --code-block --invert | mkoutBe careful with inline elements, if the parent element is filtered out they are not included:
mkcat README.md | mkfilter --link --invert | mkoutBut if you add a block level element to the filter:
mkcat README.md | mkfilter --link --paragraph --invert | mkoutThey will be included in the output.
Usage: mkfilter [options]
Filter nodes by type.
Options
-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
[email protected]
filter([opts][, cb])Filter nodes by node type.
Returns an output stream.
optsObject processing options.cbFunction callback function.
inputReadable input stream.outputWritable output stream.
MIT
Created by mkdoc on April 18, 2016