docs: share handle slower code blocks

This commit is contained in:
Jay V 2025-06-27 20:21:28 -04:00
parent 6a7983a4ea
commit 7b394b91e2

View file

@ -18,16 +18,19 @@ function CodeBlock(props: CodeBlockProps) {
const [local, rest] = splitProps(props, ["code", "lang", "onRendered"])
let containerRef!: HTMLDivElement
const [html] = createResource(() => [local.code, local.lang], async ([code, lang]) => {
return (await codeToHtml(code || "", {
lang: lang || "text",
themes: {
light: "github-light",
dark: "github-dark",
},
transformers: [transformerNotationDiff()],
})) as string
})
const [html] = createResource(
() => [local.code, local.lang],
async ([code, lang]) => {
return (await codeToHtml(code || "", {
lang: lang || "text",
themes: {
light: "github-light",
dark: "github-dark",
},
transformers: [transformerNotationDiff()],
})) as string
},
)
onCleanup(() => {
if (containerRef) containerRef.innerHTML = ""
@ -41,7 +44,13 @@ function CodeBlock(props: CodeBlockProps) {
}
})
return <div ref={containerRef} class={styles.codeblock} {...rest}></div>
return (
<>
{html() ? (
<div ref={containerRef} class={styles.codeblock} {...rest}></div>
) : null}
</>
)
}
export default CodeBlock