入门
本页面在 Divooka Compute 中制作一个小型笔记本:一个页面向输入名字的人问好,另一个页面带有温度滑块。它就是示例 Dashboard Services / A Notebook,你也可以直接从 Compute 的示例中打开它,而不必自己构建。
先决条件
- Divooka Compute,并安装 Web Development 工作负载(它带来 Notebook 工具箱)。
- 一个 Web 浏览器。
构建笔记本
- 创建文档:从 Web Development 工作负载创建文档,如果其中没有 Events 图,就添加一个。
- 选择基类型。 在 Events 图的属性中,把它的过程式基类型设为 Notebook Application。现在 Notebook Application 的每个节点都作用于这个笔记本,无需连接接收者。
- 添加 Build。 从工具箱放置 Build 事件。Build 按顺序所做的一切就是页面的布局。
- 布局站点。 在 Build 之后串联以下语句,每条语句的 Next 连到下一条语句的 Previous:
- Site,Name 为
Greenhouse——顶栏中显示的名称。 - Page,Name 为
Greeting——它之后的所有内容都放在这个页面上。 - Markdown,Text 为
Type a name, and the notebook answers in Markdown. - Text Box,Label 为
Name,Initial 为Divooka。 - Page,Name 为
Temperature。 - Slider,Label 为
Temperature,Min 为0,Max 为40,Initial 为24。
- Site,Name 为
- 响应文本框。 它的 On Change 引脚接收一个函数。在该引脚上选择 Edit Function:Compute 会生成一个 Function 图,其输入
arg和输出Result已经具有该引脚的类型。在其中放置 Notebook Outputs 中的 Markdown,把arg连到它的 Text,再把它的结果连到Result。 - 用同样的方法响应滑块:在它的 On Change 上使用 Edit Function,然后把
arg直接连到Result。
运行笔记本
按 Run。Compute 会在本机上提供笔记本服务并在浏览器中打开它;状态行会显示地址,例如 Serving at http://127.0.0.1:52344/。
在 Name 中输入内容,问候语就会以 Markdown 形式显示在其下方。拖动 Temperature,数字会随之变化。顶栏中的 Run All 会根据当前值响应页面上的每个单元格。

在 Compute 中按 Stop 结束它。
发生了什么?
Build 在笔记本启动时运行,布局出两个页面。当你打开页面时,笔记本为你创建了一个文档实例并再次构建它,把你的单元格绑定到你的实例上。每次更改都会在你的实例上用新值调用该单元格的 Function 图,并显示它返回的内容。同事打开同一地址时会得到他们自己的实例。
共享笔记本
保存文档,然后在任何装有 Divooka Compute 的机器上运行:
dvn "A Notebook.dvk" 0.0.0.0:5080
dvn 会打印它所响应的地址,其中包括本机在网络上的地址,供同事打开。参见托管。
备注
- 单元格的函数可以返回任何内容:文本、数字、表格、图像、来自 Plotting 工具箱的图形。概念说明了每种内容会变成什么。
- 完成后的示例还演示了成员:滑块的函数把温度存储在一个数据成员中,第三个单元格再把它读回来——读到的是你的温度,绝不会是其他访问者的。
- 关于图表,请打开 Dashboard Services / Crop Yield Notebook:滑块设置作物生长最适宜的温度,它的函数基于一个小型 Function 图返回 Plot With Parameter,因此曲线会随滑块移动;Answer On Load 让图表在页面一打开时就绘制出来。