前言

基于本博客的搭建过程,给出从0开始搭建博客的流程。

本博客第一版是基于 Jekyll 搭建的,对应的分支 Jekyll 仍然保留在本仓库中。

后续改为基于 HexoButterfly 主题搭建,并通过 GitHub 双仓库实现在私有仓库备份,并通过GitHub Actions部署到公开仓库 Hexo

博客还具有 ValineUtterances 的评论区,一个可以自由评论,一个通过GitHub登录和第三个仓库保存评论。

因此,本博客搭建流程需要三个仓库,分别用于备份、部署和评论。

本人又购买了 red6star.top 域名,用于访问本博客,即目前所显示的网址。

准备

强烈建议通过 GitHub Desktop 管理各个仓库和分支,本人在搭建仓库过程中,由于对Git语言的不甚熟练,做了很多无用功。

Step1

建立三个GitHub仓库

仓库1为私有仓库,用于备份;

仓库2为公开 .io 仓库,用于部署博客;

仓库3为公开仓库,用于存储 Utterances 评论。

具体过程可参考其他相关博客。(有机会我再自己写一遍轮子)

配置 SSH 密钥

SSH密钥用于本地向远程备份仓库推送

具体过程可参考其他相关博客。(有机会我再自己写一遍轮子)

创建访问令牌 token

token令牌用于 GitHub Actions 将备份仓库通过 workflows 向部署仓库推送。

具体过程可参考其他相关博客。(有机会我再自己写一遍轮子)

==这一步完成的标志是有三个仓库,一对密钥和一个令牌==

Step2

Hexo 的 Butterfly 主题

详见 Butterfly 文檔(一) 快速開始

本人的微调

主要是更改_config.butterfly.yml 文件的相关内容,美化博客页面,不重要,先跳过

==这一步完成的标志是将本地的Hexo文件推送到仓库1中==

Step3

.github\workflows 文件夹下创建 \*.yml 文件,用于GitHub 的 Actions。

我在参考了网上众多的 \*.yml 文件之后,发现用 token 是一个很好的办法。

\*.yml 文件的写法见仓库分支 hexo-timeflow-backup

token 存在于Hexo文件中的 _config.yml 文件的最后部署位置。

==这一步完成的标志是将仓库1的actions能成功部署到仓库2==

Step4

==这一步完成的标志是能通过\*\*.github.io访问博客==

Step5

开放评论区

具体过程可参考其他相关博客。(有机会我再自己写一遍轮子)

step6

申请域名并绑定

踩的坑(这才是重中之重)

CNAME文件在下次 hexo deploy的时候就消失了,需要重新创建,如何解决?

将需要上传至github的内容放在 source 文件夹,例如CNAME、favicon.ico、images等,这样在 hexo d 之后就不会被删除了。

找到“url”,确认此处域名,为之前设置的自定义域名,博客就会保留hexo主题样式

Code 403: 访问被api域名白名单拒绝,请检查你的安全域名设置, 把博客的域名添加到leancloud “安全中心” 的 “Web 安全域名” 里.