Blocks
Auto-install into blocks collections
1payloadMarkdown({2 collections: {3 pages: true,4 posts: true,5 },6})7
Manual block registration
1import { MarkdownBlock } from '@valkyrianlabs/payload-markdown'23export const Pages = {4 slug: 'pages',5 fields: [6 {7 name: 'layout',8 type: 'blocks',9 blocks: [MarkdownBlock],10 },11 ],12}13
Render the block
vlMdBlock is the generated block type key used by Payload typings.
1import { MarkdownBlockComponent } from '@valkyrianlabs/payload-markdown/server'23const blockComponents = {4 vlMdBlock: MarkdownBlockComponent,5}67export function RenderBlocks({8 blocks,9 collectionSlug,10}: {11 blocks?: any[]12 collectionSlug?: string13}) {14 if (!blocks?.length) return null1516 return blocks.map((block, i) => {17 const Block = blockComponents[block.blockType]18 if (!Block) return null1920 return <Block key={i} block={block} collectionSlug={collectionSlug} />21 })22}23
Example usage
1<RenderBlocks blocks={layout} collectionSlug="pages" />2