notion实现自动发布到hugo github博客
notion是用来记录笔记的,hugo是我用来作为github博客自动构建发布的 我目前设置了一个github action是:当我的博客仓库hugo分支有push事件时,自动构建文章发布到master分支,并且发布到博客园。 但是会有这样的不便:在notion中写了一篇笔记或文章,想要发布到github静态博客上,发现需要先将文章转化成markdown,图片需要上传到图床,然后贴入markdown,然后再推送到github,等待action自动构建静态博客 既然我使用notion记录笔记,何不继续All-in-one,将notion作为我的博客发布工具。 只需要在 notion 中建立一个用于博客发布的 database,然后写完笔记后填入这个 database,再使用一些手段触发 CI 即可完成博客文章的发布 工具介绍 说干就干,写了两个工具 https://github.com/akkuman/notiontomd https://github.com/akkuman/notion_to_github_blog notiontomd 是用来notion中的某个page转化为markdown的库,当然,当前支持的block是有限的,详细信息可以查看该仓库 notion_to_github_blog则是一个github action模板,用来自动从指定格式的database中拉取需要更新发布的文章,然后利用 notiontomd 转化为markdown,然后推送到github仓库,再触发另外的github aciton进行博客静态文件构建 使用 怎么建仓怎么自动从某分支拉取推到github pages所在分支我就不展开说明了,感兴趣的可以去网上搜索相关资料,本文所关注的流程是从notion database到博客源文件 基础环境 本文所涉及到的例子环境可以前往我的博客仓库 https://github.com/akkuman/akkuman.github.io 进行查看 hugo分支用来存放博客源文件,其中有一个github action的功能是push时触发,然后自动构建推送到master分支 master分支用来存放hugo构建之后生成的站点静态文件 博客相关的图片我会推送到 https://github.com/akkuman/pic 仓库 hugo作为主分支,master设置为github pages分支(原因后面描述) workflows编写 要使用该action,首先你需要在 notion 中创建一个 database,这个 database 需要有几个字段,字段名如下: Name (title): 文章标题 Article (text): 文章链接 MDFilename (text): 创建的 markdown 文件名 Category (select): 文章分类 Tags (multi_select): 文章标签 IsPublish (checkbox): 文章是否发布 NeedUpdate (checkbox): 文章是否有更新 CreateAt (Created time): 创建时间 ...