|
|
3 tahun lalu | |
|---|---|---|
| .. | ||
| CHANGELOG.md | 3 tahun lalu | |
| LICENSE | 3 tahun lalu | |
| README.md | 3 tahun lalu | |
| index.js | 3 tahun lalu | |
| package.json | 3 tahun lalu | |
PostHTML plugin to rename id attributes and it's references. Inspired by grunt-svgstore.
Handle following cases:
href="#id" and xlink:href="#id"style attribute values like style="fill: url(#id)"<style> tag values like .selector {fill: url(#id)"}attr="url(#id)"Input
<style>
.selector {fill: url(#qwe)}
</style>
<div id="qwe"></div>
<a href="#qwe"></a>
Output
<style>
.selector {fill: url(#prefix_qwe)}
</style>
<div id="prefix_qwe"></div>
<a href="#prefix_qwe"></a>
npm install posthtml-rename-id
const posthtml = require('posthtml');
const rename = require('posthtml-rename-id');
posthtml()
.use(rename('prefix_[id]'))
.process('<div id="qwe"></div> <a href="#qwe"></a>')
.then(({ html }) => {
console.log(html); // <div id="prefix_qwe"></div> <a href="#prefix_qwe"></a>
});
patternType:
string | function
Default:'[id]'
Renaming pattern. [id] placeholder can be used as current id of an element.
If pattern provided as a function it will be called with current id as first argument.
Function should return the new id as string ([id] can be used as well).
Uppercase all ids:
posthtml([
renameId(id => id.toUpperCase())
]);
Rename all ids to elem_{counter}:
let c = 0;
posthtml([
renameId((id) => { c++; return 'elem_' + c; })
]);