���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
.trash
/
node_modules
/
svgo
/
plugins
/
Viewing: removeEditorsNSData.js
'use strict'; const { detachNodeFromParent } = require('../lib/xast.js'); const { editorNamespaces } = require('./_collections.js'); exports.name = 'removeEditorsNSData'; exports.description = 'removes editors namespaces, elements and attributes'; /** * Remove editors namespaces, elements and attributes. * * @example * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> * <sodipodi:namedview/> * <path sodipodi:nodetypes="cccc"/> * * @author Kir Belevich * * @type {import('./plugins-types').Plugin<'removeEditorsNSData'>} */ exports.fn = (_root, params) => { let namespaces = [...editorNamespaces]; if (Array.isArray(params.additionalNamespaces)) { namespaces = [...editorNamespaces, ...params.additionalNamespaces]; } /** * @type {string[]} */ const prefixes = []; return { element: { enter: (node, parentNode) => { // collect namespace prefixes from svg element if (node.name === 'svg') { for (const [name, value] of Object.entries(node.attributes)) { if (name.startsWith('xmlns:') && namespaces.includes(value)) { prefixes.push(name.slice('xmlns:'.length)); // <svg xmlns:sodipodi=""> delete node.attributes[name]; } } } // remove editor attributes, for example // <* sodipodi:*=""> for (const name of Object.keys(node.attributes)) { if (name.includes(':')) { const [prefix] = name.split(':'); if (prefixes.includes(prefix)) { delete node.attributes[name]; } } } // remove editor elements, for example // <sodipodi:*> if (node.name.includes(':')) { const [prefix] = node.name.split(':'); if (prefixes.includes(prefix)) { detachNodeFromParent(node, parentNode); } } }, }, }; };
Coded With 💗 by
0x6ick Mod By V1rus_Alfa