From de13d68cddef5bb321469bcffb868f27ddd5390e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 12 Mar 2023 15:12:10 +0900 Subject: style: add .highlight class to pre tag --- nuldoc-src/command.ts | 5 ++++- nuldoc-src/docbook/to_html.ts | 7 +++++-- nuldoc-src/html.ts | 10 +++++----- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'nuldoc-src') diff --git a/nuldoc-src/command.ts b/nuldoc-src/command.ts index 47b8ee0..dd15a77 100644 --- a/nuldoc-src/command.ts +++ b/nuldoc-src/command.ts @@ -146,7 +146,10 @@ async function copyStaticFiles(config: Config) { const globPattern = joinGlobs([Deno.cwd(), config.locations.staticDir, "*"]); for await (const entry of expandGlob(globPattern)) { const src = entry.path; - const dst = src.replace(config.locations.staticDir, config.locations.destDir); + const dst = src.replace( + config.locations.staticDir, + config.locations.destDir, + ); await Deno.copyFile(src, dst); } } diff --git a/nuldoc-src/docbook/to_html.ts b/nuldoc-src/docbook/to_html.ts index 6788158..64d3492 100644 --- a/nuldoc-src/docbook/to_html.ts +++ b/nuldoc-src/docbook/to_html.ts @@ -192,6 +192,8 @@ function transformProgramListingElement(doc: Document) { } n.name = "pre"; + const preClass = n.attributes.get("class"); + n.attributes.set("class", preClass ? preClass + " highlight" : "highlight"); const codeElement: Element = { kind: "element", name: "code", @@ -209,12 +211,13 @@ function transformLiteralLayoutElement(doc: Document) { } n.name = "pre"; - const children = n.children; + const preClass = n.attributes.get("class"); + n.attributes.set("class", preClass ? preClass + " highlight" : "highlight"); const codeElement: Element = { kind: "element", name: "code", attributes: new Map(), - children: children, + children: n.children, }; n.children = [codeElement]; }); diff --git a/nuldoc-src/html.ts b/nuldoc-src/html.ts index d127d29..2832490 100644 --- a/nuldoc-src/html.ts +++ b/nuldoc-src/html.ts @@ -132,11 +132,11 @@ function textNodeToHtmlText(t: Text, ctx: Context): string { } function encodeSpecialCharacters(s: string): string { - return s.replaceAll(/&(?!\w+;)/g, '&') - .replaceAll(//g, '>') - .replaceAll(/'/g, ''') - .replaceAll(/"/g, '"'); + return s.replaceAll(/&(?!\w+;)/g, "&") + .replaceAll(//g, ">") + .replaceAll(/'/g, "'") + .replaceAll(/"/g, """); } function elementNodeToHtmlText(e: Element, ctx: Context): string { -- cgit v1.2.3-70-g09d2