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>
*/
npm install prune-html
-
Prunes all elements matching the selectors from the given html and returns result.
Name Type Argument Description selectors
Array.<String> | String if one of these CSS selector(s) matches, the element is pruned
html
string unpruned html
filter
function <optional>
function which can be used to filter elements further. Inside the function,
this
refers to the current element.the pruned html
- Type
- string
generated with docme
MIT