@lapis-notes/lapis-plugin-notebook

中文文档
0.2.2发布于 2026/11/01AGPL-3.0-or-laterTypeScriptES Module构建来源已验证

可执行.notebook。md笔记本与反应细胞和丰富的输出青金石笔记

中文使用文档
文档目录12 节
  1. 当前包状态
  2. 安装
  3. 运行时表面
  4. 小区和输出覆盖率
  5. 样式合同
  6. 布局规范
  7. 使用的例子
  8. 故事书和本地文档
  9. CI和局部宇称
  10. 刷新本地开发依赖项
  11. 发布和确认
  12. 进一步的阅读

@lapis-notes/lapis-plugin-notebook

CI Storybook Pages Storybook

第一方外部笔记本插件青金石。它移植了遗产 @lapis-notes/notebook 插件:可执行 .notebook.md 减价文档 具有反应单元,丰富的输出,交互式输入和DuckDB查询, 公众展示 @lapismd/design-core 宿主体内的表面 工作区。

该插件拥有笔记本文档、执行、面板和设置。主机 自己的路由、保险库状态、持久性和应用程序策略。

Plugin workspace

插件截图

Research notebook

Interactive analysis

注册表发布和手工验证: 发布指南.

当前包状态

  • 准备包版本: @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支持的输入工厂与目标运行
DuckDBpackages/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)。

  1. 进口 @lapis-notes/lapis-plugin-notebook/styles.css 一次。
  2. 通过设计核心代币实现主题;笔记本层重新绑定public 自定义属性(编辑器界面、表预览、状态面板) 自己的边界。
  3. 不要样式私有生产选择器使故事或主持人看起来 正确的。

状态色调使用静态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.mdDocker验证上下文和报告
AGENTS.md贡献者和代理工作流
PROVENANCE.md遗留端口的来源和排除

版本与发布记录

@lapis-notes/lapis-plugin-notebook 共发布 4 个版本,首次发布于 2026/10/31;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.2latest2026/11/011 天前
0.2.02026/11/012 天前
0.1.02026/10/313 天前
0.0.0-stage2026/10/313 天前

关于 @lapis-notes/lapis-plugin-notebook 的常见问题

@lapis-notes/lapis-plugin-notebook 是什么?

可执行.notebook。md笔记本与反应细胞和丰富的输出青金石笔记

如何安装 @lapis-notes/lapis-plugin-notebook?

在项目目录运行 npm install @lapis-notes/lapis-plugin-notebook,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:svelte(^5.0.0)、@lapis-notes/ui(^0.1.6)、@codemirror/view(^6.43.8)、@lapis-notes/api(^0.2.4)、@codemirror/state(^6.7.1)、@codemirror/search(^6.7.1)、@codemirror/commands(^6.10.4)、@codemirror/language(^6.12.4)、@lapismd/design-core(^0.9.0)、@lapis-notes/markdown(^0.2.1)、@codemirror/autocomplete(^6.20.3)、@codemirror/lang-markdown(^6.5.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@lapis-notes/lapis-plugin-notebook 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@lapis-notes/lapis-plugin-notebook 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@lapis-notes/lapis-plugin-notebook 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@lapis-notes/lapis-plugin-notebook 可以商用吗?

@lapis-notes/lapis-plugin-notebook 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@lapis-notes/lapis-plugin-notebook 还在维护吗?

最新版本 0.2.2 发布于 2026/11/01(1 天前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/10/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。