我全新的BLOG系统
Jan 14, 2022
简单记录下博客更新过程(水货)。最终效果是只要写个markdown文件,提交到github, 自动构建出blog系统。
原由
有很长一段时间没有更新自己的博客了,发现原先的hexo版本已经更新很高的版本了,然后我的一砣安全漏洞需要修复。今天有空就更新一把了。
原先的更新方式
原先的方式是使用hexo的本地的策略从创建,到生成,到发布。 对应命令:
1 | $ hexo new post xxx # 新建blog。 |
优点:
- 本地完全可以看到生成后的效果。
缺点:
- 本地需要要nodejs环境。
- 本地需要安装项目依赖的npm包。
- 需要有2个项目来支持,A: 源文件仓库(当前)。 B:github Pages 仓库(loovien.github.io),
hexo deploy
就是将对应生成的静态文件发布到loovien.github.io
项目上。
最新的方式(github workflows)
原理单纯的就使用hexo的骨架,在源码目录下上对应的博客(markdown文件)。然后提交到github仓库。使用github workflow 自动构建。
解决:
- 本地不依赖node环境, 专注写好markdown文件即可。
- 优化项目, 只需要一个项目(loovien.github.io), master分支放源文件,gh-pages 放对应生成的静态文件。
- 优化发布步骤,写好的博客,推送远程即可。
- 克隆hexo博客系统的骨架, 可以按这个项目在目录创建对应的文件目录。(.git, .github 目录除外)。
1 | $ git clone https://github.com/hexojs/hexo-starter.git |
- 克隆下来后,删除对应目录(.git .github), 根据自己喜欢, 重名了hexo-starter新的名称。
1 | $ rm -rf hexo-starter/.git hexo-starter/.github |
- 初始化当前目录为自己的博客项目, 添加远程仓库地址。
1 | $ cd blog-code |
创建github workflows 流程。
- 项目下创建目录
.github/workflows/
同(source
目录同级) - 新建workflow脚本(类似.gitlab-ci.yml), 名字随意(如auto-build.yml)
- 项目下创建目录
1 | # auto-build.yml |
PS: 上述将编译好的静态文件发布到私有仓库发布需要有token,
先在账号下创建TOKEN地址,
然后在项目workflows中添加secrets 变量https://github.com/loovien/loovien.github.io/settings/secrets/actions
,
添加好了后(TOKEN是添加好的名称),auto-build.yml文件中${{ screts.TOKEN }}
变量就可以使用它的值了。
- 都处理好了,现在直接在
source/_post
下写对应的markdown文件, 就可以愉快的玩耍了。, 如:
1 | --- |
- 代码提交github, 完成发布。
1 | $ git add . && git commit . -m "deploy new BLOG" |
- 最后设置下项目pages对应gh-pages分支。
https://github.com/loovien/loovien.github.io/settings/secrets/actions
, 访问blog地址。