summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/build/to-html.mjs65
1 files changed, 63 insertions, 2 deletions
diff --git a/src/build/to-html.mjs b/src/build/to-html.mjs
index 322144f..db417a1 100644
--- a/src/build/to-html.mjs
+++ b/src/build/to-html.mjs
@@ -18,6 +18,67 @@ import remarkSpecialBox from "./special_box.mjs";
import remarkRemoveFootnoteHeader from "./remove-footnote-header.mjs";
import { getTocHeading } from "./i18n.mjs";
+// Support for more highlight syntaxes
+import arduino from "highlight.js/lib/languages/arduino";
+import bash from "highlight.js/lib/languages/bash";
+import c from "highlight.js/lib/languages/c";
+import cpp from "highlight.js/lib/languages/cpp";
+import css from "highlight.js/lib/languages/css";
+import diff from "highlight.js/lib/languages/diff";
+import go from "highlight.js/lib/languages/go";
+import graphql from "highlight.js/lib/languages/graphql";
+import haskell from "highlight.js/lib/languages/haskell";
+import ini from "highlight.js/lib/languages/ini";
+import javascript from "highlight.js/lib/languages/javascript";
+import json from "highlight.js/lib/languages/json";
+import less from "highlight.js/lib/languages/less";
+import lua from "highlight.js/lib/languages/lua";
+import makefile from "highlight.js/lib/languages/makefile";
+import markdown from "highlight.js/lib/languages/markdown";
+import nginx from "highlight.js/lib/languages/nginx";
+import plaintext from "highlight.js/lib/languages/plaintext";
+import python from "highlight.js/lib/languages/python";
+import pythonRepl from "highlight.js/lib/languages/python-repl";
+import r from "highlight.js/lib/languages/r";
+import rust from "highlight.js/lib/languages/rust";
+import scss from "highlight.js/lib/languages/scss";
+import shell from "highlight.js/lib/languages/shell";
+import sql from "highlight.js/lib/languages/sql";
+import typescript from "highlight.js/lib/languages/typescript";
+import wasm from "highlight.js/lib/languages/wasm";
+import xml from "highlight.js/lib/languages/xml";
+
+const highlightLanguages = {
+ arduino,
+ bash,
+ c,
+ cpp,
+ css,
+ diff,
+ go,
+ graphql,
+ haskell,
+ ini,
+ javascript,
+ json,
+ less,
+ lua,
+ makefile,
+ markdown,
+ nginx,
+ plaintext,
+ python,
+ pythonRepl,
+ r,
+ rust,
+ scss,
+ shell,
+ sql,
+ typescript,
+ wasm,
+ xml,
+};
+
const autoLinkOption = {
behavior: "wrap",
properties: {
@@ -57,7 +118,7 @@ const generator = unified()
.use(rehypePicture, pictureOptions)
.use(rehypeKaTeX)
.use(rehypeSlug)
- .use(rehypeHighlight)
+ .use(rehypeHighlight, { languages: highlightLanguages })
.use(rehypeAutolinkHeadings, autoLinkOption)
.use(rehypeStringify);
@@ -78,7 +139,7 @@ const generatorHTML = unified()
.use(rehypePicture, pictureOptions)
.use(rehypeKaTeX)
.use(rehypeSlug)
- .use(rehypeHighlight)
+ .use(rehypeHighlight, { languages: highlightLanguages })
.use(rehypeAutolinkHeadings, autoLinkOption)
.use(rehypeStringify);