欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Slide Builder:用YAML写RevealJS幻灯片,还带Prezi风格的缩放效果

2026/7/5编程开发

前言:幻灯片在工程里的尴尬地位

说实话,我觉得幻灯片在工程师圈子里一直是个挺奇怪的存在。我们天天做,但做完就扔。很少见有人把幻灯片放进Git仓库,更别提走Code Review流程了。你在Keynote里花二十分钟对齐的那张架构图,演讲一结束就没了。下次再讲类似话题,又得重新画一遍。

Dinghy的Slide Builder想改变这件事——它把幻灯片当成一个正经的工程产物:一个由源文件组成的文件夹,编译成一个可直接交付的HTML文件。

它到底是什么

Slide Builder是一个基于RevealJS的演示文稿构建工具,集成在Dinghy CLI里。核心能力包括:

  • YAML DSL:预定义的键名映射到语义化的HTML块,其他任何键名直接变成对应的HTML元素。你用一种结构化的、缩进的形式来描述幻灯片。
  • Markdown和HTML自动加载:在幻灯片文件夹里丢一个.md或.html文件,它自动变成一页。
  • 自包含HTML输出:所有资源(图片、字体、依赖)内联到一个文件里,分享或托管都行。
  • 热重载开发服务器:跑dinghy slide start,改完代码页面自动刷新。
  • Prezi风格的缩放和平移:这是Dinghy独有的功能,下面会详细展开。

一页YAML幻灯片长什么样

核心思路是:一页幻灯片本质上是一棵HTML元素的树,而YAML恰好是描述嵌套结构的干净方式。来看个例子:

sections:
  - badge: Show Case
    title: Slide Builder
    subtitle: author RevealJS presentations in YAML
    ul:
      li:
        - YAML DSL maps keys to HTML elements
        - Self-contained HTML output
        - Live reload development server

这里有几个预定义的“别名键”:

  • badge → <div class="badge">
  • title → <h2 class="title">
  • subtitle → <p class="subtitle">

其他任何键名,比如p、h3、ul、li,就直接变成对应的HTML标签。这意味着你可以用YAML写出任意复杂的HTML结构,而不需要手写尖括号。

如果你有多个YAML文件放在同一个文件夹里,它们会按文件名顺序被依次加载,变成连续的幻灯片页面。

用Markdown写幻灯片更快

如果你只是想快速加一页内容,Markdown完全够用:

## Slide Builder

- YAML DSL maps keys to HTML elements
- Self-contained HTML output
- Live reload dev server

Markdown文件会被自动识别为一页幻灯片。你可以在同一个演示里混用YAML、Markdown和原始HTML,哪个顺手用哪个。

单文件输出:一个HTML搞定一切

跑dinghy slide build之后,你会得到一个单独的HTML文件。所有图片、字体、依赖全部内联进去。你不需要托管任何东西。你可以:

  • 直接丢进聊天窗口
  • 离线打开
  • 发邮件附件

RevealJS的渲染、导航、演讲者视图全部正常工作。这个特性对网络不稳定的演讲场地特别有用——你的幻灯片是一个自包含的文件,除了浏览器之外什么都不依赖。

Prezi风格的缩放:Dinghy独有

这是我觉得最酷的部分。你给一张图片,然后指定几个矩形区域(用像素坐标),幻灯片会在切换时“飞”到每个区域,而不是生硬地切到下一页。来看配置:

- id: dinghy-proxy-project
  img: imgs/dinghy-proxy-project.png
  width: 1562
  height: 1398
  sections:
    - id: dinghy-proxy-title
      x1: 71
      y1: 842
      x2: 954
      y2: 1132
    - id: dinghy-proxy-ruby
      title: ❤️
      x1: 1052
      y1: 119
      x2: 1550
      y2: 293

这个配置的意思是:我给你一张1562×1398像素的架构图,然后定义了两个区域。第一个区域从坐标(71,842)到(954,1132),第二个从(1052,119)到(1550,293)。播放时,幻灯片会先展示全图,然后平滑地“飞”到第一个矩形,再飞到第二个矩形。

这特别适合那种你想逐区域讲解的架构图——不用把同一张图重新画五遍。

底层原理

这个功能基于RevealJS的data-auto-animate机制。RevealJS本身支持在两个页面之间做平滑过渡,但你需要手动计算CSS的transform属性(位移和缩放)。Dinghy的做法是:你只需要给四个坐标值,工具自动帮你算好所有的变换参数。在原生RevealJS里,你要写出类似这样的东西:

<!-- 页面1:全图 -->
<section data-auto-animate>
  <img src="diagram.png" style="width: 100%;">
</section>

<!-- 页面2:放大到左上角区域 -->
<section data-auto-animate>
  <img src="diagram.png" 
       style="transform: scale(2) translate(-25%, -25%);">
</section>

而Dinghy把这种枯燥的数学计算封装掉了。

为什么要费这个劲

原因和把代码写进源文件的好处是一样的:

  1. 幻灯片活在仓库里:可以走Code Review,可以diff。改一个共享章节,所有引用它的幻灯片自动更新。
  2. 输出是一个文件:不是Keynote的.key包,不是Google Slides的URL,不是只有连上公司VPN才能打开的链接。
  3. 成本回收快:如果你一年讲超过两三次,用YAML写幻灯片的成本在第六七页的时候就赚回来了。

看个实际例子

Dinghy的官方介绍幻灯片就是用Slide Builder做的。它同时展示了YAML DSL、多文件自动加载、以及Prezi风格的缩放。源码在GitHub上,你可以直接看。


好了,基本就这些。如果你平时做幻灯片比较多,或者厌倦了每次演讲前焦虑网络问题,可以试试这个。至少对我来说,把幻灯片当成代码来管理之后,整个体验舒服太多了。

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消