single-file-core 1.0.37 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/single-file-core.js +12 -12
package/package.json
CHANGED
package/single-file-core.js
CHANGED
|
@@ -887,10 +887,10 @@ class Processor {
|
|
|
887
887
|
|
|
888
888
|
insertFonts() {
|
|
889
889
|
if (this.options.fonts && this.options.fonts.length) {
|
|
890
|
-
let
|
|
890
|
+
let firstStylesheet = this.doc.querySelector("style, link[rel=stylesheet]"), previousStyleElement;
|
|
891
891
|
this.options.fonts.forEach(fontData => {
|
|
892
892
|
if (fontData["font-family"] && fontData.src) {
|
|
893
|
-
stylesheetContent
|
|
893
|
+
let stylesheetContent = "@font-face{";
|
|
894
894
|
let stylesContent = "";
|
|
895
895
|
Object.keys(fontData).forEach(fontStyle => {
|
|
896
896
|
if (stylesContent) {
|
|
@@ -899,18 +899,18 @@ class Processor {
|
|
|
899
899
|
stylesContent += fontStyle + ":" + fontData[fontStyle];
|
|
900
900
|
});
|
|
901
901
|
stylesheetContent += stylesContent + "}";
|
|
902
|
+
const styleElement = this.doc.createElement("style");
|
|
903
|
+
styleElement.textContent = stylesheetContent;
|
|
904
|
+
if (previousStyleElement) {
|
|
905
|
+
previousStyleElement.insertAdjacentElement("afterend", styleElement);
|
|
906
|
+
} else if (firstStylesheet) {
|
|
907
|
+
firstStylesheet.parentElement.insertBefore(styleElement, firstStylesheet);
|
|
908
|
+
} else {
|
|
909
|
+
this.doc.head.appendChild(styleElement);
|
|
910
|
+
}
|
|
911
|
+
previousStyleElement = styleElement;
|
|
902
912
|
}
|
|
903
913
|
});
|
|
904
|
-
if (stylesheetContent) {
|
|
905
|
-
const styleElement = this.doc.createElement("style");
|
|
906
|
-
styleElement.textContent = stylesheetContent;
|
|
907
|
-
const existingStyleElement = this.doc.querySelector("style");
|
|
908
|
-
if (existingStyleElement) {
|
|
909
|
-
existingStyleElement.parentElement.insertBefore(styleElement, existingStyleElement);
|
|
910
|
-
} else {
|
|
911
|
-
this.doc.head.insertBefore(styleElement, this.doc.head.firstChild);
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
914
|
}
|
|
915
915
|
}
|
|
916
916
|
|