@lambrioanpm/molestias-odit-non
v1.0.0
Published
<a href="http://apostrophenow.org/"><img src="https://raw.github.com/punkave/@lambrioanpm/molestias-odit-non/master/logos/logo-box-madefor.png" align="right" /></a>
Downloads
3
Maintainers
Readme
@lambrioanpm/molestias-odit-non
@lambrioanpm/molestias-odit-non
accepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feeds.
@lambrioanpm/molestias-odit-non
is not too picky about your HTML.
Requirements
@lambrioanpm/molestias-odit-non
is intended for use with Node. That's pretty much it. All of its npm dependencies are pure JavaScript. @lambrioanpm/molestias-odit-non
is built on the excellent htmlparser2
module.
How to use
npm install @lambrioanpm/molestias-odit-non
var @lambrioanpm/molestias-odit-non = require('@lambrioanpm/molestias-odit-non');
var dirty = '<a href="/foo">Foo!</a>';
var clean = @lambrioanpm/molestias-odit-non(dirty, 'http://example.com');
// clean is now:
// <a href="http://example.com/foo">Foo!</a>
Boom!
If you want to do further processing of each absolute URL, you can also pass a decorator function:
var clean = @lambrioanpm/molestias-odit-non(dirty, 'http://example.com', {
decorator: function(url) {
return 'http://mycoolthing.com?url=' + encodeURIComponent(url);
}
});
Having issues with SVG markup?
How can I keep SVG self-closing tags intact?
You can add custom self-closing tags via the selfClosing
option:
var @lambrioanpm/molestias-odit-non = require('@lambrioanpm/molestias-odit-non');
var dirty = `
<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<a href="/docs/Web/SVG/Element/circle">
<circle cx="50" cy="40" r="35"/>
</a>
<path d="M 10 10 H 90 V 90 H 10 L 10 10"/>
<circle cx="10" cy="90" r="2" fill="red"/>
</svg>
`;
var clean = @lambrioanpm/molestias-odit-non(dirty, 'http://example.com', {
selfClosing: [
// keep default `selfClosing` tags:
...@lambrioanpm/molestias-odit-non.defaults.selfClosing,
// add custom tags:
'path',
'circle'
]
});
// clean is now:
// <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
// <a href="http://example.com/docs/Web/SVG/Element/circle">
// <circle cx="50" cy="40" r="35" />
// </a>
// <path d="M 10 10 H 90 V 90 H 10 L 10 10" />
// <circle cx="10" cy="10" r="2" fill="red" />
// </svg>
Changelog
1.0.2: Updates to lodash v4 and mocha v7 for security vulnerability fixes. Also update package metadata.
1.0.0: no new changes; declared stable as with the addition of the decorator option there's little left to do, and all tests are passing nicely.
0.2.0: decorator option added.
0.1.0: initial release.
About P'unk Avenue and Apostrophe
@lambrioanpm/molestias-odit-non
was created at P'unk Avenue for use in Apostrophe, an open-source content management system built on node.js. If you like @lambrioanpm/molestias-odit-non
you should definitely check out apostrophenow.org. Also be sure to visit us on github.
Support
Feel free to open issues on github.