安装Hexo
先是要安装node.js和npm,注意node.js版本必须在14以上(在Ubuntu上吃了亏,我的node.js是apt官方源安装的,只有12,最后用nvm安装才安装了个node.js20),npm版本需要和node.js匹配,具体见https://nodejs.org/en/about/previous-releases
随后安装hexo
1 | npm install -g hexo-cli |
使用hexo -v
查看版本
设置Github Page
创建一个Github仓库,格式必须为<用户名>.github.io
仓库创建好后,创建一个index.html文件,文件可以是任意格式的网页,如下所示:
1 |
|
随后,可以在仓库设置里的Pages页面里,在Branch处设置部署为网页的分支,按下save后稍等片刻即可部署成功。
图……没有了,可以参考GitHub Pages + Hexo搭建个人博客网站,史上最全教程这篇文章里的描述去弄。
个人使用的主题
Butterfly,安装文档:https://butterfly.js.org/posts/21cfbf15/
我是使用npm安装的:
1 | # 通过 npm 安装并不会在 themes 里生成主题文件夹,而是在 node_modules 里生成 |
为什么使用npm部署
个人最后使用的是npm部署,不是因为我多懂npm,而是如果使用文件夹引入,在Github里就会面对哈人的子模块问题……个人还没学会子模块,于是放弃。
也许以后可以在本博客上出一个Git教程,重点讲讲子模块(
主题的具体配置是什么
去看主题文档的主题配置章节!这个章节不仅完善,而且对主题各个配置能展现的效果都有展示!
Github Pages部署方式
最开始是用hexo g -d
部署到Github Pages,当然,首先要安装hexo-deployer-git
插件
1 | npm install hexo-deployer-git --save |
在_config.yml
里加入以下的一段,其中******
是你的Github Token,得在你的Github设置里获取。
1 | deploy: |
后面我看到【Hexo自动部署】优雅的使用 Github Actions 进行 Hexo 静态博客的持续集成与部署的介绍,试着用Github Action自动化部署。
我的部署脚本如下:
1 | name: Blog CI/CD # 脚本 workflow 名称 |
注意,要在安装npm包时使用--save
选项,保证package.json
里面有所有的依赖项,因为每个Github Action都是单独开一个Docker容器运行你的命令,如果你的package.json里面没有依赖项,那么构建时就不会引入相应依赖包。
如何注册域名和给Github Page设置自定义域名
众所周知,github.io域名在中国大陆直连访问有亿点困难,于是乎,给Github Page套上自定义域名就至关重要了。
最开始使用的域名的来源是免费域名”us.kg”,虽然长得像是子域名, 其实是PSL,也就是公共后缀列表(Public Suffix List),享受主域名的一切功能与待遇。域名的注册方法我是参见了技术爬爬虾的视频:
域名套在github page上的方法如下:
首先在Cloudflare上,网站选项里找到你要使用的域名(如果按上面的视频的做法你的域名应该被Cloudflare托管着)。
添加一条DNS记录,类型选择CNAME,名称任选,目标必须是你之前设置的<用户名>.github.io
的网址,关闭代理。
设置完成后就可以看到域名的记录了
随后,在Github仓库的Page设置中的Custom domain选项,填入自定义域名,待DNS检查通过后,勾选Enable HTTPS,即可实现用自定义域名访问了。
设置后,在你的网页部署仓库内会生成一个叫CNAME的文件,注意将这个文件下载下来,放在你源代码仓库的source文件夹里,避免更改博客后重新部署博客时域名丢失。
余谈
在一系列心理准备后,还是去namesilo买了一个域名,第一年一年$2.49(合RMB¥17.8),续费大概¥96(反正明年再说),现在部署在本博客和本人的其它网站上,有时间讲讲付费域名如何购买。