Tree-shake modules from hljs to reduce artifact size

Signed-off-by: Harry Chen <i@harrychen.xyz>
This commit is contained in:
Harry Chen 2024-04-09 11:07:03 +08:00 committed by Miao Wang
parent 59dc77fe75
commit 2115269686
3 changed files with 39 additions and 2 deletions

View File

@ -4,7 +4,7 @@ import {
mirrorz_help_link as MirrorzHelpLink,
} from "virtual:jekyll-config";
import { options as globalOptions } from "virtual:jekyll-data";
import hljs from "highlight.js";
import hljs from "../lib/hljs";
import Mark from "markup-js";
import { TUNASYNC_JSON_PATH } from "../lib/consts";
import { mirrorId } from "../lib/mirrorid";

View File

@ -1,6 +1,6 @@
import "./help";
import "../styles/helpz.scss";
import hljs from "highlight.js";
import hljs from "../lib/hljs";
import { mirrorId } from "../lib/mirrorid";
import Mustache from "mustache";

37
_src/lib/hljs.js Normal file
View File

@ -0,0 +1,37 @@
import hljs from "highlight.js/lib/core";
import yaml from "highlight.js/lib/languages/yaml";
import json from "highlight.js/lib/languages/json";
import bash from "highlight.js/lib/languages/bash";
import python from "highlight.js/lib/languages/python";
import markdown from "highlight.js/lib/languages/markdown";
import ini from "highlight.js/lib/languages/ini";
import nginx from "highlight.js/lib/languages/nginx";
import plaintext from "highlight.js/lib/languages/plaintext";
import lisp from "highlight.js/lib/languages/lisp";
import xml from "highlight.js/lib/languages/xml";
import julia from "highlight.js/lib/languages/julia";
import r from "highlight.js/lib/languages/r";
import perl from "highlight.js/lib/languages/perl";
import clojure from "highlight.js/lib/languages/clojure";
import dos from "highlight.js/lib/languages/dos";
import nix from "highlight.js/lib/languages/nix";
hljs.registerLanguage("yaml", yaml);
hljs.registerLanguage("json", json);
hljs.registerLanguage("bash", bash);
hljs.registerLanguage("python", python);
hljs.registerLanguage("markdown", markdown);
hljs.registerLanguage("ini", ini);
hljs.registerLanguage("nginx", nginx);
hljs.registerLanguage("plaintext", plaintext);
hljs.registerAliases("text", { languageName: "plaintext" });
hljs.registerLanguage("lisp", lisp);
hljs.registerLanguage("xml", xml);
hljs.registerLanguage("julia", julia);
hljs.registerLanguage("r", r);
hljs.registerLanguage("perl", perl);
hljs.registerLanguage("clojure", clojure);
hljs.registerLanguage("dos", dos);
hljs.registerLanguage("nix", nix);
export default hljs;