Interactive Notebook

 20th August 2020 at 2:19pm

交互式 notebook。

研究这种工具,是因为我需要出一个部署文档,这个文档中提供一句 SQL INSERT 语句,但是里面有参数需要填写。想要有一种交互式的笔记软件,可以让用户在界面上填数据,然后按模板实时地生成最终的文本。

需求是:

  • 有基础的模板编程能力,比如定义变量,编写循环、条件分支等
  • 可以随着变量值的变化,实时渲染出结果
  • 有丰富的 cell 类型,如可以表达 Markdown、HTML、数学公式等
  • 可以导出成离线可运行的 HTML 更佳

Observable

Observable 是一个基于 JavaScript 的 notebook 工具。除了导出的离线 HTML 不太方便之外,满足上述的需求点。

可以看看官方提供的 Five Minute Introduction 快速上手。

@mbostock/form-input 提供了方便的函数用于将 HTML 表单的变化与相应的变量值做绑定。