diff options
Diffstat (limited to 'packages/integrations/markdoc/components/Renderer.astro')
-rw-r--r-- | packages/integrations/markdoc/components/Renderer.astro | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/integrations/markdoc/components/Renderer.astro b/packages/integrations/markdoc/components/Renderer.astro new file mode 100644 index 000000000..4fce72b04 --- /dev/null +++ b/packages/integrations/markdoc/components/Renderer.astro @@ -0,0 +1,21 @@ +--- +import type { RenderableTreeNode } from '@markdoc/markdoc'; +import type { AstroInstance } from 'astro'; +import { validateComponentsProp } from '../dist/utils.js'; +import { createAstroNode } from './astroNode'; +import RenderNode from './RenderNode.astro'; + +type Props = { + content: RenderableTreeNode; + components?: Record<string, AstroInstance['default']>; +}; + +const { content, components } = Astro.props as Props; + +// Will throw if components is invalid +if (components) { + validateComponentsProp(components); +} +--- + +<RenderNode node={createAstroNode(content, components)} /> |