UNPKG

svgo

Version:

Nodejs-based tool for optimizing SVG vector graphics files

54 lines (41 loc) 1.33 kB
var editorNamespaces = require('./_collections').editorNamespaces, prefixes = []; /** * 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.removeEditorsNSData = function(item, params) { if (item.isElem()) { if (item.hasAttr()) { 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; } } };