diff --git a/plugins/prefixIds.js b/plugins/prefixIds.js
index cf8efe30..d81fd0cc 100644
--- a/plugins/prefixIds.js
+++ b/plugins/prefixIds.js
@@ -5,7 +5,9 @@ exports.type = 'perItem';
exports.active = false;
exports.params = {
- delim: '__'
+ delim: '__',
+ prefixIds: true,
+ prefixClassNames: true,
};
exports.description = 'prefix IDs';
@@ -173,8 +175,8 @@ exports.fn = function(node, opts, extra) {
csstree.walk(cssAst, function(node) {
// #ID, .class
- if ((node.type === 'IdSelector' ||
- node.type === 'ClassSelector') &&
+ if (((opts.prefixIds && node.type === 'IdSelector') ||
+ (opts.prefixClassNames && node.type === 'ClassSelector')) &&
node.name) {
node.name = addPrefix(node.name);
return;
@@ -204,11 +206,21 @@ exports.fn = function(node, opts, extra) {
return node;
}
- // ID
- addPrefixToIdAttr(node.attrs.id);
- // Class
- addPrefixToClassAttr(node.attrs.class);
+ // Nodes
+
+ if(opts.prefixIds) {
+ // ID
+ addPrefixToIdAttr(node.attrs.id);
+ }
+
+ if(opts.prefixClassNames) {
+ // Class
+ addPrefixToClassAttr(node.attrs.class);
+ }
+
+
+ // References
// href
addPrefixToHrefAttr(node.attrs.href);
@@ -216,7 +228,7 @@ exports.fn = function(node, opts, extra) {
// (xlink:)href (deprecated, must be still supported)
addPrefixToHrefAttr(node.attrs['xlink:href']);
- // referenceable properties
+ // (referenceable) properties
for (var referencesProp of referencesProps) {
addPrefixToUrlAttr(node.attrs[referencesProp]);
}
diff --git a/test/plugins/prefixIds.07.svg b/test/plugins/prefixIds.07.svg
new file mode 100644
index 00000000..add8a8d1
--- /dev/null
+++ b/test/plugins/prefixIds.07.svg
@@ -0,0 +1,27 @@
+
+
+@@@
+
+
+
+@@@
+
+{"prefixIds":false}
diff --git a/test/plugins/prefixIds.08.svg b/test/plugins/prefixIds.08.svg
new file mode 100644
index 00000000..1008b6cd
--- /dev/null
+++ b/test/plugins/prefixIds.08.svg
@@ -0,0 +1,27 @@
+
+
+@@@
+
+
+
+@@@
+
+{"prefixClassNames":false}
diff --git a/test/plugins/prefixIds.09.svg b/test/plugins/prefixIds.09.svg
new file mode 100644
index 00000000..5d6d088a
--- /dev/null
+++ b/test/plugins/prefixIds.09.svg
@@ -0,0 +1,27 @@
+
+
+@@@
+
+
+
+@@@
+
+{"prefixIds":false,"prefixClassNames":false}