Просмотр исходного кода

compress the CSS after having removed unused rules

Gildas 7 лет назад
Родитель
Сommit
7a9dfddb14
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      lib/single-file/single-file-core.js

+ 4 - 3
lib/single-file/single-file-core.js

@@ -358,7 +358,8 @@ const SingleFileCore = (() => {
 				const cssRules = [];
 				if (style.sheet) {
 					processRules(style.sheet.cssRules, cssRules);
-					style.textContent = cssRules.join("");
+					const stylesheetContent = cssRules.join("");
+					style.textContent = this.options.compressCSS ? this.dom.uglifycss(stylesheetContent) : stylesheetContent;
 				}
 			});
 
@@ -481,7 +482,7 @@ const SingleFileCore = (() => {
 		async inlineStylesheets(initialization) {
 			await Promise.all(Array.from(this.doc.querySelectorAll("style")).map(async styleElement => {
 				const stylesheetContent = initialization ? await DomProcessorHelper.resolveImportURLs(styleElement.textContent, this.baseURI, { maxResourceSize: this.options.maxResourceSize, maxResourceSizeEnabled: this.options.maxResourceSizeEnabled }) : await DomProcessorHelper.processStylesheet(styleElement.textContent, this.baseURI);
-				styleElement.textContent = this.options.compressCSS ? this.dom.uglifycss(stylesheetContent) : stylesheetContent;
+				styleElement.textContent = this.options.compressCSS && !this.options.removeUnusedCSSRules ? this.dom.uglifycss(stylesheetContent) : stylesheetContent;
 			}));
 		}
 
@@ -607,7 +608,7 @@ const SingleFileCore = (() => {
 			await Promise.all(Array.from(this.doc.querySelectorAll("link[rel*=stylesheet]")).map(async linkElement => {
 				const stylesheetContent = await DomProcessorHelper.resolveLinkStylesheetURLs(linkElement.href, this.baseURI, linkElement.media, { maxResourceSize: this.options.maxResourceSize, maxResourceSizeEnabled: this.options.maxResourceSizeEnabled });
 				const styleElement = this.doc.createElement("style");
-				styleElement.textContent = this.options.compressCSS ? this.dom.uglifycss(stylesheetContent) : stylesheetContent;
+				styleElement.textContent = this.options.compressCSS && !this.options.removeUnusedCSSRules ? this.dom.uglifycss(stylesheetContent) : stylesheetContent;
 				linkElement.parentElement.replaceChild(styleElement, linkElement);
 			}));
 		}