趁着这次博客迁移, 更新记录下当前博客的写作, 同步, 发布方案.
之前是使用Hexo
来作为博客的生成框架, 现在迁移到了Hugo
, 迁移的一个原因是Hexo
中无法过滤掉没有Title
的文件, 导致生产了很多空白页面, 而Hugo
则可以过滤掉没有Title
的文件, 从而避免了这个问题.
另外的一个原因是Hugo
的性能比Hexo
要高, 在生成静态页面时, Hugo
的速度更快.
现在博客的主题也只想要一个简洁的样式, 所以就选择了Hugo
的Minima
主题, 简单修改了一下, 就完成了迁移.
写作记录方面
我最开始是使用Typora
来写作, 及时渲染, 但是Typora
后来开始收费, 又尝试了Notion
, 但是Notion
的速度太慢, 慢慢就换到了现在使用的Obsidian
.
这个目前来说绝对是写作神器, 配合各种插件, 可以方便的写作, 任务安排/查看, 画流程图等等.
再配合Remote Sync
插件, 可以非常方便的进行多端同步.
以下是其中一些步骤的记录:
Obsidian同步
使用Obsidian
也有官方同步方案, 但是需要收费, 作为一名白嫖党, 肯定是不愿意花这个钱的, 所以就使用Remote-Sync
来进行数据同步, 按照文档配置一下即可完成, 非常简单.
Remote-Sync
的同步方案有多种, 我最后选择了One Drive
的同步方案, 原因有以下几点:
- 这个国内也可以正常访问, 速度也很快
- 注册账号就有一些免费空间, 而同步的数据仅仅是一些文字, 图片. 总的体积也不会很大, 免费空间也足够使用了
- 在手机端也可以使用(这个就过滤掉了Git的同步方案, 因为手机端无法使用Git, 所以就只能使用
OneDrive
的同步方案了)
同时我有一台NAS
, 在NAS
上也会通过Cloud-Sync
将数据从OneDrive
云盘下载, 来进行数据备份, 再配合定时任务来监测是否有文件变动, 有变动则进行Git
的提交.
Git
提交后则会触发Github Action
来进行博客的构建和发布流程.
NAS同步
使用Obsidian
写作时, 我博客的内容仅仅是一个同步内容的子文件夹, 使用Cloud-Sync
可以指定要同步哪个文件夹到NAS
的哪个目录上.
同时我博客的其他代码, 配置等, 我是没有放到Obsidian
中的, 所以会有两个文件夹, 一个存放Obsidian
中的文章内容, 一个存放博客的源文件.
然后通过软链将文件关联到源文件下.
同步任务可以设置每天定时同步, 同步完成后再跟一个任务来检查博客文件是否有变动, 如果有变动, 则自动提交到Github
检查变更的脚本内容为:
|
|
Github Action.
其实博客的部署也可以在NAS
上运行, 但是我不想在NAS
上安装相关的依赖, 就使用了Github Action
来完成此任务.
我的仓库中有两个分支
hugo
: 是markdown
文件和hugo
的配置文件master
: 生成的html
文件
使用Github
的user-name.github.io
仓库, 并关联到自己的域名上, 从而实现无服务器部署.
设置私钥
设置私钥到user-name.github.io
仓库下,打开该仓库,找到setting/secrets/New repository secret
将本地~/.ssh/id_ras
文件复制进来,名称可以随便取,不过在下面使用的时候需要对应起来,比如我用了ACTION_DEPLOY_KEY
这个名称。需要勾选 Allow write access
。
Action配置文件
|
|
一个流程图大致是这样: