refactor: extract comark/shiki rendering to separate file
This commit is contained in:
parent
2c5e3dd172
commit
20f0c7970a
2 changed files with 116 additions and 108 deletions
114
src/render/markdown.ts
Normal file
114
src/render/markdown.ts
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
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 golang from "@shikijs/langs/go";
|
||||
import graphql from "@shikijs/langs/graphql";
|
||||
import groovy from "@shikijs/langs/groovy";
|
||||
import hcl from "@shikijs/langs/hcl";
|
||||
import html from "@shikijs/langs/html";
|
||||
import ini from "@shikijs/langs/ini";
|
||||
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 less from "@shikijs/langs/less";
|
||||
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 scss from "@shikijs/langs/scss";
|
||||
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>,
|
||||
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,
|
||||
golang,
|
||||
graphql,
|
||||
groovy,
|
||||
hcl,
|
||||
html,
|
||||
ini,
|
||||
java,
|
||||
javascript,
|
||||
json,
|
||||
jsx,
|
||||
kotlin,
|
||||
less,
|
||||
lua,
|
||||
markdown,
|
||||
mdc,
|
||||
objc,
|
||||
ocaml,
|
||||
perl,
|
||||
php,
|
||||
powershell,
|
||||
proto,
|
||||
python,
|
||||
r,
|
||||
ruby,
|
||||
rust,
|
||||
scss,
|
||||
sql,
|
||||
svelte,
|
||||
swift,
|
||||
terraform,
|
||||
toml,
|
||||
tsx,
|
||||
typescript,
|
||||
vim,
|
||||
vue,
|
||||
xml,
|
||||
yaml,
|
||||
zig,
|
||||
zsh,
|
||||
],
|
||||
}),
|
||||
],
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue