Notion-Hugo-Github博客系统一体化
Notion-Hugo
Hugo是一个快速、开源的静态网站生成器,加载速度很快,主题也很丰富,但其编写发布文章的过程较为繁琐,为了让精力聚集在文章内容中而不是文章内容之外的动作中,看到了一个项目:Notion-Hugo,刚好平常用的笔记平台就是Notion,然后就把博客文章转移到用这个项目部署的博客上。
用过Hugo搭建过博客的用这个项目应该也可以很快上手,可以看这个教程。
因为这个项目是按照workflows定时触发的,也就是写好文章后要到触发时间才能发布文章,Github的workflows是可以用api去触发的,这样就可以实现写好文章然后就调api去触发,不需要等待workflows的触发时间,调api可以用n8n简单去实现,Github api调用可以看这篇文章:如何远程触发 github action – 陈少文的网站。
n8n的workflow如下图:
因为Notion的Button不支持直接call url,尝试过用Button把发布文章的指令先传给Slack,再通过Slack去call api,然后把call api的状态返回给Notion,效果不是很好,不如直接用文本超链接的形式。
Notion的图床用的是亚马逊的S3存储,用于共享的时候会有有效时间,所以过一段时间后文章图片就不能正常访问了,且存在图片内存大导致文章加载慢的问题,看了其他博主的图床方案,自己也搞了一个,就是用Cloudflare的R2存储作为图床,然后通过WebP Cloud压缩和加密图片源,效果还不错,可以看这个文章:使用 WebP Cloud 与 Cloudflare WAF 为你的图床添加隐私和版权保护。待优化的点是:怎么简化把处理后的图片上传到Notion中的过程。
最后的效果是:
在Notion中编辑好文章内容,点击发布文章,就完成发布文章的过程了。
Notion-Backup
Notion是一个在线笔记平台,有数据丢失的风险,而且前段时间,Notion服务器经常宕机,所以数据备份非常重要,找了一个Notion数据备份的项目,运行了一段时间,效果还可以。
因为每天成功导出数据后,收件箱会有状态显示,没找到方法去掉或者隐藏这个红点。
相关链接
github - dillonzq/loveit: ❤️a clean, elegant but advanced blog
github - heige-pcloud/notion-hugo: use notion as the cms for your hugo site