Add Observable-style ${...} interpolation and HTML source cells to markdown-native notebooks #130
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#130
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Close the biggest remaining source-authoring gap between the current markdown-native notebook runtime and Observable's System Guide by adding first-class HTML notebook cells plus
${...}expression interpolation for markdown-native notebook source.Problem
The current notebook runtime supports dynamic markdown cells only through
{{name}}placeholders and does not support first-classhtmlsource cells. Observable's System Guide relies on${...}source interpolation in Markdown and HTML cells, and that remains one of the clearest parity gaps still visible to users comparing the two systems.Goal
Add notebook-owned support for
${...}interpolation in markdown-native source cells and introduce first-class HTML notebook cells, while preserving.notebook.mdfiles, explicit notebook execution ownership, and notebook-owned renderers.Scope
htmlas a recognized notebook cell language.${...}expressions in notebook markdown cells.${...}expressions in notebook HTML cells.Non-goals
Acceptance Criteria
lang="html"cells as first-class notebook cells.${...}expressions from notebook state while preserving markdown-native file authoring.${...}expressions and treat interpolated values as escaped text by default.Implementation Notes
{{name}}placeholder support working unless there is an explicit migration plan.Suggested Files or Specs To Inspect
packages/notebook/src/lib/parse/**packages/notebook/src/lib/runtime/**packages/notebook/src/lib/render/**spec/src/20-packages/plugins/notebook/documents-and-runtime.mdspec/src/20-packages/plugins/notebook/observable-system-guide-parity.mdValidation Commands
Follow-up Tasks
${...}support makesmdtagged-template parity substantially less important for the next slice.{{name}}placeholders remain a permanent markdown-native convenience or become a compatibility alias.Implementation Summary
Implemented first-class HTML notebook cells, Observable-style markdown and HTML source interpolation, dependency analysis, runtime coverage, System Guide acceptance coverage, and parity/runtime spec updates.