Skip to content

CIMNotebook: Base Infrastructure & Markdown Round-Trip #45

Description

@spah-soptim

Objective: Establish the VS Code frontend foundation. *.cimnb.md files open as notebooks and save losslessly.

Description:
The VS Code extension needs native notebook support using a markdown-first approach for git-friendly diffs. Initially, this focuses on authoring (no execution).

  • Register the notebook types (cimnotebook for *.cimnb.md and cimnotebook-markdown as an option for regular *.md).
  • Implement the pure types (cells.ts).
  • Implement the MarkdownNotebookSerializer (parsing & serializing).
  • Crucial: The parser must be strictly idempotent (round-trip stable: serialize(parse(x)) == x) so read-only operations don't create dirty git states. Unknown code fences must remain untouched as markdown.

Acceptance Criteria:

  • *.cimnb.md opens as a notebook by default.
  • Regular .md files can be opened via "Open With... -> CIM Notebook".
  • Pure TS unit tests (node:test) for the markdown serializer pass.
  • docs/content/cimnotebook/notebooks.md is created and registered in sidebars.js.
  • CI/CD (Linter, tsc) passes without errors.

Metadata

Metadata

Assignees

Labels

cimnotebookCIMNotebook ExtensionsenhancementNew feature or request

Fields

No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions