Sha256: 83dbdfa7cba8d3e9c1cb59e52414cdf71be4a88de131bf3324e6d994f22b6c4d
Contents?: true
Size: 1.51 KB
Versions: 34
Compression:
Stored size: 1.51 KB
Contents
'use strict'; exports.type = 'perItem'; exports.active = true; exports.description = 'removes editors namespaces, elements and attributes'; var editorNamespaces = require('./_collections').editorNamespaces, prefixes = []; exports.params = { additionalNamespaces: [] }; /** * Remove editors namespaces, elements and attributes. * * @example * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> * <sodipodi:namedview/> * <path sodipodi:nodetypes="cccc"/> * * @param {Object} item current iteration item * @param {Object} params plugin params * @return {Boolean} if false, item will be filtered out * * @author Kir Belevich */ exports.fn = function(item, params) { if (Array.isArray(params.additionalNamespaces)) { editorNamespaces = editorNamespaces.concat(params.additionalNamespaces); } if (item.elem) { if (item.isElem('svg')) { item.eachAttr(function(attr) { if (attr.prefix === 'xmlns' && editorNamespaces.indexOf(attr.value) > -1) { prefixes.push(attr.local); // <svg xmlns:sodipodi=""> item.removeAttr(attr.name); } }); } // <* sodipodi:*=""> item.eachAttr(function(attr) { if (prefixes.indexOf(attr.prefix) > -1) { item.removeAttr(attr.name); } }); // <sodipodi:*> if (prefixes.indexOf(item.prefix) > -1) { return false; } } };
Version data entries
34 entries across 31 versions & 11 rubygems