@lapis-notes/lapis-plugin-notebook
第一方外部笔记本插件青金石。它移植了遗产
@lapis-notes/notebook 插件:可执行 .notebook.md 减价文档
具有反应单元,丰富的输出,交互式输入和DuckDB查询,
公众展示 @lapismd/design-core 宿主体内的表面
工作区。
该插件拥有笔记本文档、执行、面板和设置。主机 自己的路由、保险库状态、持久性和应用程序策略。
注册表发布和手工验证: 发布指南.
当前包状态
- 准备包版本:
@lapis-notes/[email protected](即将出版)。验证使用 已发布的注册表依赖项;资格和出版证据是 在跟踪spec/records/2026-10-31-notebook-canvas-release.md. - 运行时插件id:
lapis-notebook(保留从遗留插件所以 持久的插件数据键保持兼容)。 - 运行时同行:
@lapis-notes/api@^0.2.4,@lapis-notes/markdown@^0.2.1,@lapismd/design-core@^0.9.0,@lapis-notes/ui@^0.1.6,svelte@^5. - 规范存储库:
lapismd/lapis-plugin-notebook. - 目录: https://lapismd.github.io/lapis-plugin-notebook/.
- 端口是分级的
spec/src/plugins/notebook/;验证 状态在spec/src/verification.md准确跟踪哪个阶段有 登陆。
安装
主机通过Lapis插件生命周期加载插件类; onload
注册笔记本编辑器视图、命令、设置选项卡和面板。
pnpm add @lapis-notes/lapis-plugin-notebook
在应用程序边界处导入一次插件样式表:
import "@lapis-notes/lapis-plugin-notebook/styles.css";
运行时表面
| 表面 | 条目 | 使用 |
|---|---|---|
| 笔记本视图 | *.notebook.md 独家编辑器视图贡献 | 单元格渲染,源/预览模式,运行所有标题操作,内联编辑器 |
| 执行 | 带有Web Worker传输和进程内回退的共享引擎 | 使用依赖图排序的TypeScript/JavaScript、SQL和Markdown/HTML单元 |
| 输入 | packages/input 基于Design Core原语的DOM运行时 | viewof 文本/表/范围和每个ui支持的输入工厂与目标运行 |
| DuckDB | packages/duckdb 钉在DuckDB-WASM上 | 应用程序快照表上的SQL单元格(lapis.notes, lapis.links, lapis.search_documents) |
| 面板 | 变量、依赖项和包的右边栏视图 | 数据源检查、依赖关系图和npm包管理 |
| 默认的分组 | Notebook 从布局状态播种的侧边栏组 | 一个右侧栏组同时表示变量、依赖项和包 |
| 设置 | 版本化插件数据加上设置选项卡 | 执行、自动运行和面板自动打开策略 |
小区和输出覆盖率
将渲染的笔记本嵌入到另一个笔记中 ![[Analysis.notebook.md]].
嵌入显示笔记本散文和可用的单元输出,并带有一个操作to
打开源代码笔记本。无需运行单元即可恢复保存的结果;第一个
执行仍然是手动的。重复嵌入共享输入值,同时保持
单独的控制。
单元通过一个共享引擎执行,可通过两个传输访问:a
用于符合条件的笔记本和进程中的专用模块Web Worker
适用于需要DuckDB、实时DOM输出或仅主机的笔记本
提供者。反应性是由lapis拥有且明确的——一种marimo/ pluto风格
依赖关系图重新运行或标记过时的后代;没有隐含的
观察运行时。生成的输出将作为键入的生成状态保存
主机 appDatabase 笔记本状态契约,由web、桌面和
托管Rust后端。
样式合同
该插件使用本地CSS, Design Core语义令牌和笔记本所有
notebook- 前缀的类。生产来源不受顺风影响
实用程序字符串(pnpm check:no-tailwind)。
- 进口
@lapis-notes/lapis-plugin-notebook/styles.css一次。 - 通过设计核心代币实现主题;笔记本层重新绑定public 自定义属性(编辑器界面、表预览、状态面板) 自己的边界。
- 不要样式私有生产选择器使故事或主持人看起来 正确的。
状态色调使用静态aa对比调色板 .dark 覆盖;
切片解剖在白色的身体上描绘灰色的全血头部。
布局规范
src/
lib/ plugin class, settings, views, render layer, panels, styles
stories/ App-backed shell stories, panel placement stories, demos
packages/
notebook-core/ host-neutral document model, graph, and stdlib
notebook-stdlib/
notebook-input/ lazy DOM input runtime
notebook-duckdb/
notebook-duckdb-assets/
notebook-worker/ transport-only worker entry
spec/
src/ canonical specification (mdBook)
records/ slice and acceptance records
stories/
catalog/ story parity and taxonomy declarations
私有支持包保持主机中立边界(LN-NB-027)和
通过共享的Vite/tsconfig管道从TypeScript源解析,所以
已发布的根清单不受 workspace: 依赖关系。
使用的例子
笔记本文件是普通的Markdown用的 :::cell 指令:
---
notebook:
autorun: true
---
:::cell{#calc lang="ts"}
```ts
const answer = 6 * 7;
display(`The answer is ${answer}.`);
```
:::
:::cell{#query lang="sql"}
```sql
SELECT count(*) AS note_count FROM lapis.notes;
```
:::
交互式输入使用 viewof 细胞;目标依赖关系重新运行
下游细胞在变化。
故事书和本地文档
运行本地目录(默认为端口7040):
pnpm storybook
pnpm storybook:stop
pnpm storybook:restart
构建静态目录:
pnpm build-storybook
规范规范存在于 spec/src. 更喜欢qmd支持的搜索
用于定位要求和指导,并保持接线后的健康
工具更新:
pnpm spec:search -- "panel group"
pnpm spec:search -- "worker transport" --semantic
pnpm spec:index
pnpm exec spec-validator doctor
pnpm spec:check
CI和局部宇称
可移植验证默认为失败关闭的Docker运行器
(scripts/validation.mjs);Docker故障永远不会落回主机。
看到 docs/validation.md 用于上下文、报告和自有清理。本地的
诊断需要明确的 LAPIS_NOTEBOOK_VALIDATION_RUNTIME=native
覆盖。
pnpm test:storybook 按顺序运行Storybook Vitest项目
碎片,每个碎片都有一个新的浏览器进程和一个worker,镜像
间歇编排器传输中断的任务缓解。保持
可用于诊断的非批处理命令。
CI运行验证、规范、质量、单元、构建、发布和
故事书交互和静态构建通道在每个拉请求和推
来 main,并将静态目录发布到GitHub Pages main.
刷新本地开发依赖项
当兄弟存储库存在时, .pnpmfile.cjs 安装本地
用于开发验收的包快照。这些快照需要
在同级源或公共导出更改后刷新。如果故事书
报告存在于所属存储库中的丢失文件,停止它并
刷新快照:
pnpm storybook:stop
pnpm install --lockfile=false --force
pnpm test
pnpm test:storybook
pnpm storybook
此临时本地验证设置将保留注册表锁定文件 不变。根据发布的注册中心验证版本和CI 依赖关系。
预览继承了DM Sans变量和源代码Pro变量从 设计核心,匹配青金石主机。
发布和确认
常用验证命令:
pnpm spec:first
pnpm spec:check
pnpm check
pnpm test
pnpm build
pnpm publint
pnpm test:storybook
pnpm build-storybook
pnpm validation:all
进一步的阅读
| 资源 | 使用 |
|---|---|
spec/src/plugins/notebook/index.md | 规范插件规范 |
spec/src/plugins/notebook/runtime.md | 执行、面板和设置运行时 |
spec/src/spec-governance.md | 治理、验证和发现规则 |
spec/src/verification.md | 需求验证证据 |
docs/validation.md | Docker验证上下文和报告 |
AGENTS.md | 贡献者和代理工作流 |
PROVENANCE.md | 遗留端口的来源和排除 |


