diff options
Diffstat (limited to 'src/server/template/syntax.ts')
-rw-r--r-- | src/server/template/syntax.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/template/syntax.ts b/src/server/template/syntax.ts new file mode 100644 index 0000000..82b37e8 --- /dev/null +++ b/src/server/template/syntax.ts @@ -0,0 +1,18 @@ +import hljs from "highlight.js" +import { data, Attribute, code as Code } from "./html.js" +import { c } from "./vdom.js" + +interface Syntax extends Attribute { + lang: string +} + +export default function code({ lang, ...attr }: Syntax, content: string) { + return c( + Code, + { + class: attr.class ?? "hljs", + ...attr + }, + data(hljs.highlight(content,{ language: lang }).value) + ) +}
\ No newline at end of file |