aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2023-03-18 15:28:50 +0900
committernsfisis <nsfisis@gmail.com>2023-03-18 15:28:50 +0900
commit4ce1f674055ac1dd1c4864f366aac212f5643248 (patch)
tree296ce2d4c1d2b90346b9debddeafd920b7745e0d
parent9876a58d34a69b5951b80ee833d8dce5eaa4954e (diff)
downloadblog.nsfisis.dev-4ce1f674055ac1dd1c4864f366aac212f5643248.tar.gz
blog.nsfisis.dev-4ce1f674055ac1dd1c4864f366aac212f5643248.tar.zst
blog.nsfisis.dev-4ce1f674055ac1dd1c4864f366aac212f5643248.zip
refactor: provide type declaration of highlight.js
-rw-r--r--nuldoc-src/docbook/to_html.ts12
-rw-r--r--nuldoc-src/types/highlight-js.d.ts6
2 files changed, 10 insertions, 8 deletions
diff --git a/nuldoc-src/docbook/to_html.ts b/nuldoc-src/docbook/to_html.ts
index 7c21036..c824780 100644
--- a/nuldoc-src/docbook/to_html.ts
+++ b/nuldoc-src/docbook/to_html.ts
@@ -1,4 +1,5 @@
-import hljs from "hljs/highlight.min.js";
+// @deno-types="../types/highlight-js.d.ts"
+import hljs from "npm:highlight.js";
import { Document } from "./document.ts";
import { DocBookError } from "../errors.ts";
import {
@@ -299,13 +300,8 @@ function highlightPrograms(doc: Document) {
}
const sourceCode = (codeElement.children[0] as Text).content;
- const validLanguage =
- (hljs as { getLanguage: (s: string) => string }).getLanguage(language)
- ? language
- : "plaintext";
- const highlighted = (hljs as {
- highlight: (s: string, o: { language: string }) => { value: string };
- }).highlight(sourceCode, { language: validLanguage }).value;
+ const highlighted =
+ hljs.highlight(sourceCode, { language: language }).value;
(codeElement.children[0] as Text).content = highlighted;
codeElement.attributes.set("class", "highlight");
diff --git a/nuldoc-src/types/highlight-js.d.ts b/nuldoc-src/types/highlight-js.d.ts
new file mode 100644
index 0000000..312cd06
--- /dev/null
+++ b/nuldoc-src/types/highlight-js.d.ts
@@ -0,0 +1,6 @@
+declare module "highlight.js" {
+ function highlight(
+ code: string,
+ options: { language: string },
+ ): { value: string };
+}