|
|
@@ -1087,6 +1087,11 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
template = await Util.evalTemplateVariable(template, "url-port", () => url.port || "No port", dontReplaceSlash);
|
|
|
template = await Util.evalTemplateVariable(template, "url-protocol", () => url.protocol || "No protocol", dontReplaceSlash);
|
|
|
template = await Util.evalTemplateVariable(template, "url-search", () => url.search.substring(1) || "No search", dontReplaceSlash);
|
|
|
+ const params = url.search.substring(1).split("&").map(parameter => parameter.split("="));
|
|
|
+ for (const [name, value] of params) {
|
|
|
+ template = await Util.evalTemplateVariable(template, "url-search-" + name, () => value || "", dontReplaceSlash);
|
|
|
+ }
|
|
|
+ template = template.replace(/{\s*url-search-[^}\s]*\s*}/gi, "");
|
|
|
template = await Util.evalTemplateVariable(template, "url-username", () => url.username || "No username", dontReplaceSlash);
|
|
|
template = await Util.evalTemplateVariable(template, "tab-id", () => String(options.tabId || "No tab id"), dontReplaceSlash);
|
|
|
template = await Util.evalTemplateVariable(template, "url-last-segment", () => decodeURI(Util.getLastSegment(url)) || "No last segment", dontReplaceSlash);
|
|
|
@@ -1095,7 +1100,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
template = await Util.evalTemplateVariable(template, "digest-sha-384", async () => docUtil.digest("SHA-384", content), dontReplaceSlash);
|
|
|
template = await Util.evalTemplateVariable(template, "digest-sha-512", async () => docUtil.digest("SHA-512", content), dontReplaceSlash);
|
|
|
}
|
|
|
- return template;
|
|
|
+ return template.trim();
|
|
|
}
|
|
|
|
|
|
static setBackgroundImage(element, url, style) {
|