Files
upstream-tiptap/packages/markdown/tests/fixtures/markdown/nested-nodes.ts
upstream-mirror 083a46e93b
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
snapshot of https://github.com/ueberdosis/tiptap.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:11:02 +05:00

73 lines
1.3 KiB
TypeScript

import { createBlockMarkdownSpec, Node } from '@tiptap/core'
export const name = 'Nested Nodes'
export const expectedInput = `
:::custom-block
This is a node with **bold text**.
:::custom-block
And this is a nested block.
:::
:::`.trim()
export const expectedOutput = {
type: 'doc',
content: [
{
type: 'customBlock',
content: [
{
type: 'paragraph',
content: [
{ type: 'text', text: 'This is a node with ' },
{ type: 'text', marks: [{ type: 'bold' }], text: 'bold text' },
{ type: 'text', text: '.' },
],
},
{
type: 'customBlock',
content: [
{
type: 'paragraph',
content: [{ type: 'text', text: 'And this is a nested block.' }],
},
],
},
],
},
],
}
export const extensions = [
Node.create({
name: 'customBlock',
group: 'block',
content: 'block+',
...createBlockMarkdownSpec({
nodeName: 'customBlock',
name: 'custom-block',
content: 'block',
}),
parseHTML() {
return [
{
tag: 'div[data-type="custom-block"]',
},
]
},
renderHTML({ HTMLAttributes }) {
return ['div', { 'data-type': 'custom-block', ...HTMLAttributes }, 0]
},
}),
]