108 lines
3 KiB
TypeScript
108 lines
3 KiB
TypeScript
import { render } from "@comark/ansi";
|
|
import highlight from "@comark/ansi/plugins/highlight";
|
|
import bash from "@shikijs/langs/bash";
|
|
import c from "@shikijs/langs/c";
|
|
import cpp from "@shikijs/langs/cpp";
|
|
import csharp from "@shikijs/langs/csharp";
|
|
import css from "@shikijs/langs/css";
|
|
import docker from "@shikijs/langs/docker";
|
|
import elixir from "@shikijs/langs/elixir";
|
|
import fish from "@shikijs/langs/fish";
|
|
import golang from "@shikijs/langs/go";
|
|
import groovy from "@shikijs/langs/groovy";
|
|
import hcl from "@shikijs/langs/hcl";
|
|
import html from "@shikijs/langs/html";
|
|
import java from "@shikijs/langs/java";
|
|
import javascript from "@shikijs/langs/javascript";
|
|
import json from "@shikijs/langs/json";
|
|
import jsx from "@shikijs/langs/jsx";
|
|
import kotlin from "@shikijs/langs/kotlin";
|
|
import lua from "@shikijs/langs/lua";
|
|
import markdown from "@shikijs/langs/markdown";
|
|
import mdc from "@shikijs/langs/mdc";
|
|
import objc from "@shikijs/langs/objc";
|
|
import ocaml from "@shikijs/langs/ocaml";
|
|
import perl from "@shikijs/langs/perl";
|
|
import php from "@shikijs/langs/php";
|
|
import powershell from "@shikijs/langs/powershell";
|
|
import proto from "@shikijs/langs/proto";
|
|
import python from "@shikijs/langs/python";
|
|
import r from "@shikijs/langs/r";
|
|
import ruby from "@shikijs/langs/ruby";
|
|
import rust from "@shikijs/langs/rust";
|
|
import sql from "@shikijs/langs/sql";
|
|
import svelte from "@shikijs/langs/svelte";
|
|
import swift from "@shikijs/langs/swift";
|
|
import terraform from "@shikijs/langs/terraform";
|
|
import toml from "@shikijs/langs/toml";
|
|
import tsx from "@shikijs/langs/tsx";
|
|
import typescript from "@shikijs/langs/typescript";
|
|
import vim from "@shikijs/langs/vim";
|
|
import vue from "@shikijs/langs/vue";
|
|
import xml from "@shikijs/langs/xml";
|
|
import yaml from "@shikijs/langs/yaml";
|
|
import zig from "@shikijs/langs/zig";
|
|
import zsh from "@shikijs/langs/zsh";
|
|
import kanagawaLotus from "@shikijs/themes/kanagawa-lotus";
|
|
import kanagawaWave from "@shikijs/themes/kanagawa-wave";
|
|
|
|
export async function renderMarkdown(
|
|
text: PromiseLike<string> | string,
|
|
columns: number,
|
|
) {
|
|
return render(await text, {
|
|
width: columns,
|
|
plugins: [
|
|
highlight({
|
|
themes: { dark: kanagawaWave, light: kanagawaLotus },
|
|
registerDefaultThemes: false,
|
|
registerDefaultLanguages: false,
|
|
languages: [
|
|
bash,
|
|
c,
|
|
cpp,
|
|
csharp,
|
|
css,
|
|
docker,
|
|
elixir,
|
|
fish,
|
|
golang,
|
|
groovy,
|
|
hcl,
|
|
html,
|
|
java,
|
|
javascript,
|
|
json,
|
|
jsx,
|
|
kotlin,
|
|
lua,
|
|
markdown,
|
|
mdc,
|
|
objc,
|
|
ocaml,
|
|
perl,
|
|
php,
|
|
powershell,
|
|
proto,
|
|
python,
|
|
r,
|
|
ruby,
|
|
rust,
|
|
sql,
|
|
svelte,
|
|
swift,
|
|
terraform,
|
|
toml,
|
|
tsx,
|
|
typescript,
|
|
vim,
|
|
vue,
|
|
xml,
|
|
yaml,
|
|
zig,
|
|
zsh,
|
|
],
|
|
}),
|
|
],
|
|
});
|
|
}
|