@datalayer/decks

中文文档
1.0.6发布于 2026/10/26SEE LICENSE IN LICENSETypeScriptES Module构建来源已验证近 30 天下载 4140

被描述为数据的演示文稿:由光谱驱动的reveal.js甲板引擎,以及任何反应堆外壳中列出,打开并创建甲板的反应堆插件.

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 注解、 播放和视频
  4. 探员
  5. 发展

Datalayer

数据层解密器

幻灯片甲板,称为数据——和 反应堆 将其放入任何反应堆外壳的插件 .

spec (.ts, YAML-shaped)
   ↓  validation
template            branding, palette, type scale, layout overrides
   ↓
slide library       reusable semantic slide types
   ↓
@revealjs/react → Reveal.js

上面写着 type: metrics; 参数幻灯片的外观是模板的 业务。 这就是让一个甲板成为应用甲板, 一个会议谈话 和暗影甲板 通过改变一个字.

安装

pip install datalayer_decks
datalayer decks serve          # http://127.0.0.1:8797, opens the browser
datalayer decks serve my-deck.yaml  # load YAML and open this deck directly
datalayer decks list

安装软件包添加一个 decks 组到数据层 CLI - serve, (中文(简体) ), list, (中文(简体) ), show, (中文(简体) ), delete -通过反应堆的 datalayer.cli 入境点 组; datalayer-decks 单独是同一个群体. serve 运行甲板 API (英语:/decks,磁盘上的 JSON 规格)和从 app/ 从一个来源。 接口为反应堆外壳:甲板 边栏和主槽中的插件、插件管理器、命令 调色板,和- 在页眉的右边- 外观菜单 @datalayer/primer-addons,颜色模式和主题选择器 头相穿. 设定 DATALAYER_DECKS_DIR (或 --decks-dir选择在哪里 甲板储存(~/.datalayer/decks (否则).

传递给 YAML 文件 serve 装入临时商店,并在 它的甲板 URL,所以尝试一个文件不会改变用户的普通甲板目录. 过 --decks-dir 以及何时进口副本应继续存在。 一个图是 普通光谱内容, 作为全幻灯片或列内:

- type: mermaid
  title: From specification to screen
  diagram: |
    flowchart LR
      YAML[Deck YAML] --> Validate
      Validate --> Reveal[Reveal.js]

在任何其他反应堆主机旁安装的同个轮子本身作为一个 扩展: 连接主机的路由, 以及 Decks 插件 —— 由 extension/ 作为模组联合会的容器进入 share/datalayer/reactor/extensions/decks 装入主机外壳 结束 联邦,不导入 需要帮助。 见 蟒类包装扩展。 。 。 .

使用量

import { registerDecks, DeckView, DecksHostProvider } from '@datalayer/decks';
import { DecksPlugin } from '@datalayer/decks/plugin';
  • @datalayer/decks - 发动机:类型, validateDeck幻灯片 库,模板(datalayer, (中文(简体) ), datalayer-brand, (中文(简体) ), datalayer-ink, (中文(简体) ), DeckRenderer, (中文(简体) ), DeckView, (中文(简体) ), DeckPrintView, (中文(简体) ), DeckAccess和两个 存储器填入的登记册——甲板目录(registerDecks)和 一个 spec 可能名称 (registerDeckComponents) (中文(简体) ).
  • @datalayer/decks/plugin —— 说 DecksPlugin: 列表中 sidebar 插头, 打开甲板 main,在外壳的视图选择器中有一个"Decks"条目,以及 命令.
命令按键对
decks.list模式+ 移动+D关闭打开的甲板, 显示列表
decks.new模式+ 备选案文+N"新甲板"对话框
decks.open—— 说由 id({ id, slide? }(中文(简体) )
decks.renameF2 请检查DATE=中的日期值 (帮助) F2重命名打开的甲板( 或 { id }:标题、地址、家庭
decks.delete—— 说删除打开的甲板(或 { id }),在询问后
decks.goToSlide—— 说将开放的甲板移动到幻灯片上({ slide }(中文(简体) )
decks.nextSlide 编号 : decks.previousSlide阿尔特 /阿尔特穿过开放的甲板
decks.present模式+ 移动+F打开甲板,全屏
decks.print模式+ 移动+P打印视图, 另存为 PDF

引擎需要它周围的应用程序 主题 一个脚印 标记,读者是否签名——通过 DecksHostProvider, (中文(简体) ), 默认的,使一个赤壁工作.

注解、 播放和视频

每个幻灯片都可以携带 notes在甲板上方, 页:1 带他们去 介绍者(从来没有在PDF中)。 当主机发出声音时 (单位:千美元)DecksHost.useNarrator页:1 DeckNarrator,后面还有两个按钮 下载 PDF数字 :

  • 播放 高声读取音符, 幻灯片后幻灯片, 作为底部的标题 幻灯片;没有注释的幻灯片保留了4秒.
  • 视频 在浏览器中, 将同样内容制作成视频文件: 每张幻灯片 在1920x1080时(所显示的碎片、字体、图片和人鱼图等待) 由旁白者表达的每句话 synthesize(sentence) - 那个 整句音频, 格式 AudioContext.decodeAudioData 上面写着——甲板被记录下来 这句话被说成是标题, 与 MediaRecorder: MP4 浏览器记录它的地方, WebM 否则. 这个 实时记录,随着进展, 打开/关闭声音 财务报告和审定财务报表 取消 在甲板上方 继续用背景标签 你看见并听到它 它记录着——屏幕上的甲板跟随正在录制的幻灯片,其中 标题, 如 播放 做,然后回到你最后的位置; 关掉 只让发言者安静下来,视频保持声音。 然后它提供视频和一个WebVTT 标题文件有相同的句子和时间,以甲板命名.

一个保持视频通道的主持人 DeckView (单位:千美元) videoPublisher (单位:千美元)DeckVideoPublisher(单位:千美元) label, (中文(简体) ), publish(made, spec)和该说什么一次 published)——或给予一次,对于它下的每一甲板,作为 DecksHost.videoPublisher (一个主机如何保存甲板插件的视频) 绘图; DeckView自己的道具获胜). 视频 然后读作标签 视频——其标题和 poster,第一张幻灯片作为1920×1080 PNG—— 交给 publish 一旦它被制作,与 spec甲板原样 何时 视频 被按下,所以主机可以知道 视频是否是 仍为甲板的;拒绝说明其理由 再次上传。 。 。 .

着陆两次 在甲板的一页的空间,视频是 与甲板一起保存(Spacer, PUT /api/spacer/v1/decks/{id}/video,在 私人桶:下一次打开页面时,它会播放在幻灯片上方 下载,没有被再次制造 视频 读取 再来一次 —— 说 上面写着 甲板在制作后被剪辑过 发表 图书馆提供的甲板 作为视频发布,复制已保存的 视频录入图书馆的公开版 在已出版的甲板图书馆网页上 车主 制作视频 直接上传到图书馆.

一个没有 synthesize 给予不 视频 按钮。 一个旁白者 无法代表此阅读者发言( n)unavailable,与 needsSignIn 签名时 两个按钮都说出原因 而不是播放或记录.

探员

代理与甲板相关的每件事都由这个插件宣布,作为其中之一 AgentTools 捆绑 (单位:千美元)src/plugin/agentTools.json:数据—— decks_list_decks, (中文(简体) ), decks_get_deck, (中文(简体) ), decks_create_deck, (中文(简体) ), decks_update_deck,每个滑坡 编辑, decks_delete_deck - 还有屏幕.. decks_open, (中文(简体) ), decks_go_to_slide, (中文(简体) ), decks_next_slide, (中文(简体) ), decks_previous_slide, (中文(简体) ), decks_present, (中文(简体) ), decks_print, (中文(简体) ), decks_list。每个都是一个命令插件注册(DECKS_DATA_COMMANDS, (中文(简体) ), DECKS_COMMANDS,在页面上对目录和商店运行——保存 当插件被赋予一个时, 返回到此服务器上 模型需要下一个。 没有 代理光谱 命名一个甲板工具; example-decks 声明 tools: [] 把他们全部从 它被挂载在旁边的插件.

Python 半个服务于同一文件 GET /plugins/agent-tools,以及 在同一标识下登记套件中的一半数据 (单位:千美元)datalayer_decks/commands.py,通过 provide_slash_commands()——关于a 没有浏览器的主机 捆绑名称是命令反应器 实际有,可以从 reactor commands list 财务报告和审定财务报表 reactor commands run decks.getDeck '{"id": "talks/hello"}' 和经纪人一样 七个 移动屏幕上的甲板和浏览器插件:商店没有 屏幕.

在那个 datalayer decks 界面本身, --reactor-plugins ai-agents 设置 Decks 代理(example-decks) 在甲板旁边:在一地上浮出一地 临时推断密钥,以上面的捆绑为工具,从 反应堆而不是申报——见 plugins/ai-agents。 。 。 . example-decks 财务报告和审定财务报表 worker-pitcher (登陆甲板编辑代理) 名称 相同的前端工具盘, decks,在代理规格.

在循环中@datalayer/agent-runtimes, (中文(简体) ), @datalayer/loop-plugin-decks 在聊天边挂载此插件—— 边栏中的列表, a 地标 编辑器视图, 作曲家的菜单—— 聊天时将代理 捆绑命令作为工具,所以代理写和驱动一个没有的甲板 服务器在它后面。 这个 DecksAgent 举个例子.

发展

make install          # pip install -e ".[test]"
make build-lib        # tsc → lib/
make build-app        # the interface → share/datalayer/reactor/apps/decks
make build-extension  # the container → share/datalayer/reactor/extensions/decks
make wheel            # both, then the wheel (hatch_build.py builds what is missing)
make test
make dev-app          # Rsbuild on :5190, against `datalayer decks serve` on :8797
make example          # serve examples/welcome/welcome.yaml directly

集装箱的制造需求 @module-federation/rsbuild-plugin 联合国 依赖性: npm install 一次在这个包.

甲板上 定义 数据采集器 着陆时保持其规格、登记条目和设计系统 插图,并将此套件挂起.

版本与发布记录

@datalayer/decks 共发布 7 个版本,首次发布于 2026/09/18;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.6latest2026/10/2616 天前
1.0.52026/10/2616 天前
1.0.42026/09/261 个月前
1.0.32026/09/261 个月前
1.0.22026/09/201 个月前
1.0.12026/09/191 个月前

关于 @datalayer/decks 的常见问题

@datalayer/decks 是什么?

被描述为数据的演示文稿:由光谱驱动的reveal.js甲板引擎,以及任何反应堆外壳中列出,打开并创建甲板的反应堆插件.

如何安装 @datalayer/decks?

在项目目录运行 npm install @datalayer/decks,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18)、react-dom(>=18)、@primer/react(^37.31.0)、@datalayer/design(^1.0.2)、@datalayer/reactor(^1.0.4)、@primer/octicons-react(>=19.35.0)、@datalayer/primer-addons(^1.0.23)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@datalayer/decks 支持 TypeScript 吗?

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

@datalayer/decks 支持 ESM 还是 CommonJS?

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

@datalayer/decks 可以商用吗?

@datalayer/decks 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@datalayer/decks 的下载量有多少?

根据 npm 官方下载统计,@datalayer/decks 在 2026/10/12 – 2026/11/10 这 30 天内被下载 4,140 次,日均约 138 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@datalayer/decks 还在维护吗?

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