createAtomBlockMarkdownSpec
@blockslides/core / createAtomBlockMarkdownSpec
Function: createAtomBlockMarkdownSpec()
createAtomBlockMarkdownSpec(
options):object
Defined in: blockslides/packages/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts:58
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
options
Configuration for the atomic block markdown spec
Returns
object
Complete markdown specification object
parseMarkdown()
parseMarkdown: (
token,h) =>MarkdownParseResult
Parameters
token
h
Returns
markdownTokenizer
markdownTokenizer:
MarkdownTokenizer
renderMarkdown()
renderMarkdown: (
node) =>string
Parameters
node
Returns
string
Example
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
})