0.2.1 • Published 10 years ago

prune-html v0.2.1

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

prune-html build status

Given an html string it removes elements matching CSS selector(s) and returns the pruned html string.

var pruneHtml = require('prune-html');

var html = [
    '<div>'
  , '  <h1 class="page-title">Global</h1>'
  , '  <header>'
  , '    <h2>Hello</h2>'
  , '  </header>'
  , '  <article>'
  , '    <div class="container-overview">'
  , '      <dl class="details"></dl>'
  , '    </div>'
  , '    <h3 class="subsection-title">Methods</h3>'
  , '  </article>'
  , '</div>'
].join('\n')

console.log(pruneHtml([ 'h1', '.details', 'h3' ], html));
/* =>
<div>
  <header>
    <h2>Hello</h2>
  </header>
  <article>
    <div class="container-overview">
    </div>
  </article>
</div> */

You can further refine the element filtering using cheerio attributes.

var pruneHtml = require('prune-html');

var html = [
    '<div class="container-overview">'
  , '  <dl data-prune="" class="details"></dl>'
  , '</div>'
].join('\n');

function filterPruneData() {
  return this.data('prune') !== undefined;
}

console.log(pruneHtml([ '*' ], html, filterPruneData));
/* =>
<div class="container-overview">
</div>
*/

Installation

npm install prune-html

API

generated with docme

License

MIT