import { visit } from 'unist-util-visit'; import { getCodeString } from 'rehype-rewrite'; import { getVNode } from './getSVGNode.mjs'; export function rehypePreviewHTML() { return (tree) => { visit(tree, (node, index, parent) => { if (node.type === 'element' && node.tagName === 'pre') { const child = node.children[0]; if ( child.properties?.className?.includes('language-html') && child?.tagName === 'code' && child.data?.meta === 'preview' ) { const code = getCodeString(child.children); const vnode = getVNode(code || ''); node.children = vnode; } } }); }; }