@umbraco-cms/backoffice
    Preparing search index...

    Function createAtomBlockMarkdownSpec

    • Creates a complete markdown spec for atomic block nodes using Pandoc syntax.

      The generated spec handles:

      • Parsing self-closing blocks with :::blockName {attributes}
      • Extracting and parsing attributes
      • Validating required attributes
      • Rendering blocks back to markdown

      Parameters

      Returns {
          markdownTokenizer: MarkdownTokenizer;
          parseMarkdown: (
              token: MarkdownToken,
              h: MarkdownParseHelpers,
          ) => MarkdownParseResult;
          renderMarkdown: (node: JSONContent) => string;
      }

      Complete markdown specification object

      const youtubeSpec = createAtomBlockMarkdownSpec({
      nodeName: 'youtube',
      requiredAttributes: ['src'],
      defaultAttributes: { start: 0 },
      allowedAttributes: ['src', 'start', 'width', 'height'] // Only these get rendered to markdown
      })

      // Usage in extension:
      export const Youtube = Node.create({
      // ... other config
      markdown: youtubeSpec
      })