import { useEffect, useState } from 'react';
import * as shiki from 'shiki';
const CodeBlock = ({ lang, code })
=>
{
const [html, setHTML] = useState('');
useEffect(async ()
=
>
{
const highlighter = await shiki.getHighlighter({
theme: 'github-dark',
langs: [lang],
});
const nextHtml = highlighter.codeToHtml(code, { lang });
setHtml(nextHtml);
}, [lang, code]);
return (
);
};
언어 파서, 스타일, 웹어셈블리 코드 등
1MB 정도 번들 사이즈가 늘어남