Skip to content

OI-T1: Callout node (first-class, round-trip) #60

Description

@coderhd

Parent

#27 — H0 — Obsidian Importer

What to build

A first-class callout node so Obsidian > [!note] syntax is preserved, not flattened. The Tiptap Callout extension joins the shared schema (extracted by MI-T1) and the round-trip engine serializes/parses the Obsidian-compatible > [!type] title form, with styled rendering in the editor.

Acceptance criteria

  • Callout Tiptap extension added to lib/editor-extensions.ts (the shared schema); the live editor, paste path, and round-trip engine all share it.
  • Serialization emits > [!type] title (Obsidian-compatible, e.g. note/warning/info); parsing recognizes callouts on import and in pasted markdown.
  • Callouts render with type-based styling in the editor.
  • Round-trip stability: callout doc → markdown → callout doc (and the reverse) is lossless.
  • Focused unit tests pass; npm run lint and npm run build green.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions