From 8a3816aef0665d018bf296195861281e0afea203 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 17 Dec 2024 00:17:09 +0900 Subject: fix(blog/nuldoc): encode special characters such as ampersand in quoted attribute values --- vhosts/blog/nuldoc-src/renderers/html.ts | 4 +++- vhosts/blog/nuldoc-src/renderers/xml.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'vhosts/blog/nuldoc-src') diff --git a/vhosts/blog/nuldoc-src/renderers/html.ts b/vhosts/blog/nuldoc-src/renderers/html.ts index dee9a0cc..70d097b2 100644 --- a/vhosts/blog/nuldoc-src/renderers/html.ts +++ b/vhosts/blog/nuldoc-src/renderers/html.ts @@ -174,7 +174,9 @@ 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}="${value}"`; + s += `${name === "className" ? "class" : name}="${ + encodeSpecialCharacters(value) + }"`; if (i !== attributes.length - 1) { s += " "; } diff --git a/vhosts/blog/nuldoc-src/renderers/xml.ts b/vhosts/blog/nuldoc-src/renderers/xml.ts index c3293d17..69b8266c 100644 --- a/vhosts/blog/nuldoc-src/renderers/xml.ts +++ b/vhosts/blog/nuldoc-src/renderers/xml.ts @@ -72,7 +72,7 @@ function elementNodeToXmlText(e: Element, ctx: Context): string { s += " "; for (let i = 0; i < attributes.length; i++) { const [name, value] = attributes[i]; - s += `${name}="${value}"`; + s += `${name}="${encodeSpecialCharacters(value)}"`; if (i !== attributes.length - 1) { s += " "; } -- cgit v1.2.3-70-g09d2