From b206b17dfffee47940d391dd8dfbcfd79cc6861e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 25 Apr 2025 22:36:47 +0900 Subject: feat(blog/nuldoc): add `defer` attribute to some `script` tags --- vhosts/blog/nuldoc-src/renderers/html.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'vhosts/blog/nuldoc-src/renderers') diff --git a/vhosts/blog/nuldoc-src/renderers/html.ts b/vhosts/blog/nuldoc-src/renderers/html.ts index ec77eb4d..b9336b53 100644 --- a/vhosts/blog/nuldoc-src/renderers/html.ts +++ b/vhosts/blog/nuldoc-src/renderers/html.ts @@ -183,9 +183,14 @@ function elementNodeToHtmlText(e: Element, ctx: Context): string { s += " "; for (let i = 0; i < attributes.length; i++) { const [name, value] = attributes[i]; - s += `${name === "className" ? "class" : name}="${ - encodeSpecialCharacters(value) - }"`; + if (name === "defer" && value === "true") { + // TODO + s += "defer"; + } else { + s += `${name === "className" ? "class" : name}="${ + encodeSpecialCharacters(value) + }"`; + } if (i !== attributes.length - 1) { s += " "; } @@ -246,6 +251,7 @@ function indent(ctx: Context): string { function getElementAttributes(e: Element): [string, string][] { return [...e.attributes.entries()] .filter((a) => !a[0].startsWith("--")) + .filter((a) => a[1] !== undefined) .sort( (a, b) => { // Special rules: -- cgit v1.2.3-70-g09d2