Skip to content

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

License

Notifications You must be signed in to change notification settings

thlorenz/prune-html

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

pruneHtml(selectors, html, filter) → {string}

Prunes all elements matching the selectors from the given html and returns result.

Parameters:
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.

Source:
Returns:

the pruned html

Type
string

generated with docme

License

MIT

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published