为了更好的浏览体验,请不要在本页面禁用 Javascript 🙂

NotionPlus 使用文档

Loading...
📢
这篇文章已经失去了时效性。NotionPlus 自 V2.0.0 起,不再兼容下面文档中提到的功能。详情见 NotionPlus 使用指南 V2
简介
我自己维护了一张书单表格,每次添加新书籍时,我都要去搜索书籍封面下载,然后上传到表格中。这样重复的操作让我厌烦,于是便有了这个项目。
NotionPlus 是一个 Chrome 扩展。安装此扩展之后,你可以通过编程操作 Notion Database 中的数据。在一些需要重复操作的地方,编写任务代码,能极大地提高工作效率。
此扩展支持使用 Python 和 JavaScript 编写任务代码。使用 Python 编写任务代码需要配置服务端。使用 JavaScript 编写任务代码,则无需配置服务端。
NotionPlus 2种语言的实现对比
Search
语言
底层依赖
需要服务端
访问文件系统
跨域请求
Python
notion-py
JavaScript
notabase
如何运作
快速上手
安装浏览器扩展
快速体验
安装浏览器扩展后,F12 打开浏览器控制台,刷新页面(保证扩展加载成功)
NontionPlus has been activated 🎉
Plain Text
看到上述字样后,则表明扩展已经加载成功。如下图所示,点击 top 切换到 NotionPlus 扩展。
然后便可以在控制台中访问 nb (notabse 实例) 变量。通过 nb 便可以操作 Notion 中的数据了
具体操作可以参见下面这个演示视频
Loading...
查看 Notabase 文档了解更多
配置任务表格
你可以在控制台中,使用 JS 处理一些一次性的任务。如果你的任务是重复的、通用的,你可以编写一些可复用的任务代码。
我们需要一个表格来存储任务代码,复制这个页面到自己的 Notion 中,得到一个任务表格模板。
此表格中包含了一些使用案例和更加详细的使用说明。打开 NotionPlus 选项,配置任务表格地址。
在 actionTableUrl 处填上刚才拷贝的表格地址(自己 Notion 中)
编写任务
NotionPlus 使用默认的 Name 列作任务名称。回到刚才的任务表格,新建一条记录,为任务命名。
然后添加一个代码块,可选语言是 JavaScript 或者 Python 。NotionPlus 会根据代码块的语言,来确定执行方案。
触发任务
在需要触发任务的表格中,新建一列 checkbox,命名为 #任务名称
如果执行上图中的的任务。当我们点击 checkbox (图中绿色区域)时,会触发任务表格中名为change_name的任务,被点击行的 name 字段就会变成 change from js client。
部署后端服务 (可选项)
💡
只有使用 Python 编写任务代码才需要部署服务端。此处不再推荐使用 Python 编写任务代码。除非 JS 无法满足你的需求,例如批量上传文件等应用场景。个人精力有限,目前我仅维护 JS 客户端的实现,当然也欢迎 PR 其它语言的服务端实现。
clone 代码
git clone https://github.com/mayneyao/NotionPlus.git
Shell
安装依赖
pipenv install
Shell
配置
cp config.sample.ini config.ini # 修改 config.ini 文件中的配置
Shell
参数说明
notion
token
打开 notion 任意页面,保证你已经登录。
打开浏览器调试工具,在 cookies 中获取 token_v2
action_table_url
用于动态任务的 action 表格地址(浏览器可访问地址)
timezone
默认填写 Asia/Shanghai 即可
security
auth_token
自己瞎想一个别人猜不到的密码,保证通信安全。
运行
./run.sh
Python
默认运行在 5000 端口
配置扩展
点击浏览器上的 NotionPlus 扩展图标,打开选项页配置服务器参数,配置完成后保存。
本地运行时服务器接口默认填写 http://127.0.0.1:5000
安全码就是上面你在 服务端配置的见不得人的 auth_token
⚠️ 当服务端部署在远程服务器上时,需要上 https
深入使用
当你使用 Python 编写任务代码时,任务在服务器端执行。如何使用 Python 编写任务代码,你应该参考 notion-py 的使用文档。
当你使用 JS 编写任务代码时,任务在浏览器客户端执行。如何使用 JS 编写任务代码,你应该参考 notabase 的使用文档。
你可以在任务代码中使用,下表中的内置对象和方法。
人是沟通的动物。他不仅依赖于食物,也同样依赖于新闻、信息和娱乐。 —— 阿瑟·C·克拉克unknown
Build with gatsby,react,material-ui and Copyright 2019 Mayne Powered by gine-blog