前言
之前写博客,都是在Typora中手搓,再复制到Hexo中生成文章,而且还得手动将图片上传到 CloudFlare R2中,很麻烦。
通过Elog就可以将Notion文章自动同步到Hexo博客中,并可以自动上传图片,很nice。
本文仅记录完整步骤,具体详情请参考:Elog Github、Elog Docs
一、安装及初始化Elog
1、在 Hexo博客根目录下,执行命令安装Elog
1 | npm install @elog/cli -g |
2、初始化Elog配置
1 | elog init |
3、执行完会在根目录下生成如下文件:
1 | ├── .elog.env // Elog用于本地调试时的环境变量配置 |
4、将.elog.env文件加入.gitignore,防止密码等信息误提交
二、Notion中新建博客文章数据库
1、新建文章数据库,新建一个新页面,然后在页面里点击数据库
2、点击新建空白数据库
3、添加表头:title、categories、tags、description等,具体参考Hexo的FrontMatter配置文档 或者自己Hexo主题对应的FrontMatter配置文档。
三、Notion中生成集成令牌
1、点击左上角三点,找到管理连接页面。
2、进入开发和管理集成网页
3、新建集成
4、配置集成设置,在访问权限中,添加权限给之前新建好的博客文章数据库。
5、完成配置,复制好内部集成密钥。
6、拷贝博客文章数据库的链接,复制出数据库ID,格式类似如下:https://www.notion.so/aaaa?v=bbbb&source=copy_link,其中aaaa就是数据库ID了。
四、Elog配置Notion密钥及数据库ID
1、 在.elog.env配置上面步骤里拿到的Notion密钥及数据库ID
五、Elog配置CloudFlare R2图床
1、安装图床插件
1 | npm install @elog/plugin-img-r2 |
2、在.elog.env中配置R2密钥、桶等相关信息
六、elog.config.js 配置
1、这里贴下我的全部配置,具体解释可参考 Elog Doc
1 | const r2 = require('@elog/plugin-img-r2') |
七、开始使用
1、在Notion数据库中写好文章,填好相关信息,将 status 改为已发布。
2、回到Hexo根目录,执行如下命令,开始同步文章
1 | elog sync -e .elog.env |
后记
还可以通过持续集成,完成自动化部署,后面再研究及实现下。













