搭建这个博客我都干了什么
本文最后更新于:2023年10月5日 上午
起因
因为自己折腾代理的时候发现在网络上没有太多的关于shadowrocket
🚀的资料,所以自己折腾了一波,想记录一下折腾的结果并且记录下来给有同样需求的人用吧,就自己用GitHub pages 搭了这个基于hexo
的博客。
过程
过程其实蛮曲折的,虽然网络上的教程很多,但是要么太老,要么diy的程度太低,大多都是NEXT主题的教程,再加上自己小白的属性,看不懂文档和嫌弃教程太麻烦大概花了将近两天的时间。
我这个博客的实现原理是使用github actions
进行自动化搭建的,(虽然hexo deploy也能实现,但是我太懒了,只想每次写完push上去就跑。当然节约下来的时间也没去学习)下面说一下具体的搭建方法和搭建时候的一些坑。
首先在hexo官网找到对应的文档,印象中是要下载“npm”(就是nodejs)和 git,具体安装和配环境就不谈了。然后新建一个文件夹再打开终端,输入
1 |
|
这时你的文件夹里会出现一堆配置文件,然后有的教程会让你编辑_config.yml
我建议是先把自己喜欢的主题下载下来,再改config。
第一个坑
有的教程会让你以git submodule的形式进行挂载,但是这个并不适用于每一个theme,我的建议是把文件以zip的形式下载下来解压至themes/
,我这边直接git clone还是会识别成子模块然后导致一系列后续的错误。
具体的错误成因暂时不清楚,但是如果你也遇到相应的问题或许可以这种方式进行解决。我的猜测是因为hexo文件本身就是git管理的仓库,在git下再进行git可能就自动识别成了子模块
这个时候你已经成功下载了themes,只需要到根目录下的config里theme改为你需要的主题名称就行了。(除此之外,其他的几乎没改,名字啥的还是可以改一下的哈~)这时本地跑一下看一下效果,如果没有问题基本没啥大问题了。
tips:
注意github的默认分支不再是master而是main👀
第二个坑
如果使用官方的deploy工具,他的大致原理就是把你的md文档转成html的文件这样可以访问,他会在你的***.github.io
这个仓库内创建两个分支,一个分支是你的源代码分支,另一个分支是gh-pages
,把你的gh-pages设为网页展示的分支就可以了。在这里我遇到了本地展示正常但是访问网页时没有themes或者一片空白的情况,当时弄到了很晚准备睡了,第二天准备折腾这个问题并且配置一下github actions进行自动配置。
github actions 的配置需要:
- 一个private库用来存源码
- 一个public库即上文的
*.github.io
- 一个workflows的配置文件
- 一个密钥
接下来所有的操作都在你的源码库进行:
先申请密钥,这个不细说了具体操作请STFW
,我这里提醒一下密钥的权限要申请能调用和修改仓库
我自用的workflows配置文件是:
目前是2.0 改良版本,由于github actions的时区应该是UTC时间,如果你的时区与之不符需要调整workflows的时区如下
1 |
|
如果你想了解更多关于这个workflows,可以到这个仓库查看
然后折腾完成后,每次写文章只需要push到自己的源码仓库,github actions会监测你的每次push,帮你编译且发布到你的github pages的那个仓库里。
最后
至此,配置完成后,我发现所有问题都消失了,每次只用专心写文章然后push到仓库里就不用管了,属实舒服,这样就有更多的时间折腾别的了。谨以此文记录自己那两天时间,也许也能帮助到其他人呢?