You've already forked AstralRinth
forked from didirus/AstralRinth
66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
import hljs from "highlight.js/lib/core";
|
|
// Scripting
|
|
import javascript from "highlight.js/lib/languages/javascript";
|
|
import python from "highlight.js/lib/languages/python";
|
|
import lua from "highlight.js/lib/languages/lua";
|
|
// Coding
|
|
import java from "highlight.js/lib/languages/java";
|
|
import kotlin from "highlight.js/lib/languages/kotlin";
|
|
import scala from "highlight.js/lib/languages/scala";
|
|
import groovy from "highlight.js/lib/languages/groovy";
|
|
// Configs
|
|
import gradle from "highlight.js/lib/languages/gradle";
|
|
import json from "highlight.js/lib/languages/json";
|
|
import ini from "highlight.js/lib/languages/ini";
|
|
import yaml from "highlight.js/lib/languages/yaml";
|
|
import xml from "highlight.js/lib/languages/xml";
|
|
import properties from "highlight.js/lib/languages/properties";
|
|
import { md, configuredXss } from "@modrinth/utils";
|
|
|
|
/* REGISTRATION */
|
|
// Scripting
|
|
hljs.registerLanguage("javascript", javascript);
|
|
hljs.registerLanguage("python", python);
|
|
hljs.registerLanguage("lua", lua);
|
|
// Coding
|
|
hljs.registerLanguage("java", java);
|
|
hljs.registerLanguage("kotlin", kotlin);
|
|
hljs.registerLanguage("scala", scala);
|
|
hljs.registerLanguage("groovy", groovy);
|
|
// Configs
|
|
hljs.registerLanguage("gradle", gradle);
|
|
hljs.registerLanguage("json", json);
|
|
hljs.registerLanguage("ini", ini);
|
|
hljs.registerLanguage("yaml", yaml);
|
|
hljs.registerLanguage("xml", xml);
|
|
hljs.registerLanguage("properties", properties);
|
|
|
|
/* ALIASES */
|
|
// Scripting
|
|
hljs.registerAliases(["js"], { languageName: "javascript" });
|
|
hljs.registerAliases(["py"], { languageName: "python" });
|
|
// Coding
|
|
hljs.registerAliases(["kt"], { languageName: "kotlin" });
|
|
// Configs
|
|
hljs.registerAliases(["json5"], { languageName: "json" });
|
|
hljs.registerAliases(["toml"], { languageName: "ini" });
|
|
hljs.registerAliases(["yml"], { languageName: "yaml" });
|
|
hljs.registerAliases(["html", "htm", "xhtml", "mcui", "fxml"], { languageName: "xml" });
|
|
|
|
export const renderHighlightedString = (string) =>
|
|
configuredXss.process(
|
|
md({
|
|
highlight: function (str, lang) {
|
|
if (lang && hljs.getLanguage(lang)) {
|
|
try {
|
|
return hljs.highlight(str, { language: lang }).value;
|
|
} catch (__) {
|
|
/* empty */
|
|
}
|
|
}
|
|
|
|
return "";
|
|
},
|
|
}).render(string),
|
|
);
|