Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apostrophecms/absolution
Accepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feed entries.
https://github.com/apostrophecms/absolution
Last synced: about 2 months ago
JSON representation
Accepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feed entries.
- Host: GitHub
- URL: https://github.com/apostrophecms/absolution
- Owner: apostrophecms
- Created: 2013-09-19T18:25:04.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2024-01-25T14:25:01.000Z (11 months ago)
- Last Synced: 2024-10-30T00:37:26.773Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 32.2 KB
- Stars: 15
- Watchers: 10
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# absolution
`absolution` accepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feeds.
`absolution` is not too picky about your HTML.
## Requirements
`absolution` is intended for use with Node. That's pretty much it. All of its npm dependencies are pure JavaScript. `absolution` is built on the excellent `htmlparser2` module.
## How to use
`npm install absolution`
```javascript
var absolution = require('absolution');var dirty = 'Foo!';
var clean = absolution(dirty, 'http://example.com');// clean is now:
// Foo!
```Boom!
If you want to do further processing of each absolute URL, you can also pass a decorator function:
```javascript
var clean = absolution(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:
```javascript
var absolution = require('absolution');var dirty = `
`;
var clean = absolution(dirty, 'http://example.com', {
selfClosing: [
// keep default `selfClosing` tags:
...absolution.defaults.selfClosing,// add custom tags:
'path',
'circle'
]
});// clean is now:
//
//
//
//
//
//
//
```## 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
`absolution` was created at [P'unk Avenue](http://punkave.com) for use in Apostrophe, an open-source content management system built on node.js. If you like `absolution` you should definitely [check out apostrophenow.org](http://apostrophenow.org). Also be sure to visit us on [github](http://github.com/punkave).
## Support
Feel free to open issues on [github](http://github.com/punkave/absolution).