From 7eeb5d064d22f67cbf365ee6547c30a0e3d5de18 Mon Sep 17 00:00:00 2001 From: Brad Kotsopoulos Date: Sun, 24 Feb 2019 13:02:03 -0500 Subject: [PATCH] Add config to preserve IDs based on prefix matching (#1060) add parameter to preserve IDs based on prefix matching --- plugins/cleanupIDs.js | 22 +++++++++++++++++++--- test/plugins/cleanupIDs.12.svg | 19 +++++++++++++++++++ test/plugins/cleanupIDs.13.svg | 22 ++++++++++++++++++++++ test/plugins/cleanupIDs.14.svg | 34 ++++++++++++++++++++++++++++++++++ test/plugins/cleanupIDs.15.svg | 19 +++++++++++++++++++ 5 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 test/plugins/cleanupIDs.12.svg create mode 100644 test/plugins/cleanupIDs.13.svg create mode 100644 test/plugins/cleanupIDs.14.svg create mode 100644 test/plugins/cleanupIDs.15.svg diff --git a/plugins/cleanupIDs.js b/plugins/cleanupIDs.js index 2b61b93f..f1fdc9f3 100644 --- a/plugins/cleanupIDs.js +++ b/plugins/cleanupIDs.js @@ -11,6 +11,7 @@ exports.params = { minify: true, prefix: '', preserve: [], + preservePrefixes: [], force: false }; @@ -41,6 +42,7 @@ exports.fn = function(data, params) { referencesIDs = new Map(), hasStyleOrScript = false, preserveIDs = new Set(Array.isArray(params.preserve) ? params.preserve : params.preserve ? [params.preserve] : []), + preserveIDPrefixes = new Set(Array.isArray(params.preservePrefixes) ? params.preservePrefixes : (params.preservePrefixes ? [params.preservePrefixes] : [])), idValuePrefix = '#', idValuePostfix = '.'; @@ -54,7 +56,7 @@ exports.fn = function(data, params) { for (var i = 0; i < items.content.length && !hasStyleOrScript; i++) { var item = items.content[i]; - // quit if +