notion2markdown-action简要使用教程
前言
此前开发了notion2markdown-action插件,可在GitHub Actions
中将 Notion 中的页面同步导出到博客中,旧教程在此。
由于近期更新(更新至v0.7.0
),配置方案已与原教程不大相符,故在此写简约版的最新教程。
该插件已发布与marketplace,公开供大家使用。
功能概述
目前主要特点如下:
- 能从
Notion
中快速导出文章,生成Markdown
文件,供静态博客使用。
工作流
部署成功后,日常工作流大概如下:
- 文章撰写:在 Notion 中,创建草稿进行文章撰写
- 文章发布:在 Notion 中,将文章状态改为[已发布]
- 文章更新:在 Notion 中,直接修改[已发布]的文章即可,定时任务会自动更新
- 文章删除/撤回:在 Notion 中,将文章的[已发布]状态改为任何其它状态
GitHub Actions
采用定时任务在后台执行,每20 分钟查询Notion
是否有页面更新,所以在Noiton
上无需进行任何操作,所有已发布的文章会自动同步到博客上。
快速开始
本教程最后更新于 2023.09.05, 基于
v0.7.3
版本
本方案基于Notion Integration
读取Notion
的页面数据,使用 GitHub Actions 进行自动化部署。
Notion 配置
主要是为了获取
NOTION_TOKEN
和NOTION_DATABASE_ID
两项关键参数;前者用于Notion
认证,后者决定同步哪一个数据库。
从Untitled 复制
Dataset
模板,复制数据库ID
,作为NOTION_DATABASE_ID
保存;简单获取方法:复制数据库页面链接,例如:https://www.notion.so/{username}/{database_id}?v={view_id},其中database_id部分即为数据库ID
。参考
Notion
官方教程Create an integration (notion.com),创建Notion integration 应用,并获取**Secrets
**,保存该数据,会用作NOTION_TOKEN
。直达链接:My integrations | Notion Developers![Secrets存储位置](https://prod-files-secure.s3.us-west-2.amazonaws.com/9724a895-d6d5-4e82-9739-74885ea5ba68/1b1883ea-24ce-4e2e-bcc9-c0d0d6be62a3/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240425%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240425T061049Z&X-Amz-Expires=3600&X-Amz-Signature=466d17cfb63db04ce1df15abc5555d5d961d5a5a44993ed3187a8868ae8218b1&X-Amz-SignedHeaders=host&x-id=GetObject)
将创建的
Dataset
数据库授权给刚创建的Integration
应用,如下图:
就此,Notion 授权部分配置完成,得到NOTION_TOKEN
和NOTION_DATABASE_ID
两项关键参数。
GitHub Actions 配置
下面开展 GitHub Action 配置,分为两个部分:
Workflow
配置:配置Actions
的工作逻辑,复制粘贴后,根据需要修改Action Secrets
配置:配置Actions
的各类参数,例如Notion
和picgo
图床参数
Workflows 配置
这里介绍 notion2markdown-action 的 workflow,用于将 Notion 页面同步到 GitHub。
- 切换到自己在
GitHub
上托管的仓库目录,Actions→New workflow→set up a workflow yourself
,在.github/workflows
目录下,创建notion_sync.yml
配置文件
- 根据需要,复制下面的配置文档,粘贴到
notion_sync.yml
,并保存。此配置文件为基础版,不包含图床、图片压缩和博客部署等功能。
|
|