博客搭建起步

本人主要参照b站视频做法来进行博客搭建,选择了GitHub + Hexo + Netlify + CloudFlare 的建站做法,同时选用GitHub + PicGo作为图床搭建,主题采用GitHub上Butterfly主题,总计成本只有域名的一美元。

本人博客搭建的整体思路框架是 超详细的个人博客搭建教程,但需要强调的是:
本视频的视频内容个人感觉都是理论讲解,实操需要对照简历的图文教程(up在视频里也说了)
但由于这个up使用的是mac作为环境,对用wsl2的本人萌新稍不太友好,本人太菜了,呜呜
故在Hexo和GitHub文件托管环节还参考了Hexo & GitHub搭建自己的专属博客这个视频,主要也还是对照视频简历的教程pdf来进行互补参考。

本文将第一篇教程称为文章一,第二篇教程称为文章二。

准备Hexo框架和GitHub文件托管

此环节参考文章二,按文章二的步骤走即可,但配置主题本人在稍后设置,此处没有进行配置,即使没有选择主题,也会有Hexo的默认主题。在博客部署到GitHub的环节上,文章二采用SSH配置,但这里出现了第一个问题:
在_confg.yml文件配置GitHub链接参数的时候,文章二里repo:后面写的是https地址,但对于SSH而言,需要填写SSH地址,否则在之后deploy d的时候会报错,以前用https链接登录的时候直接输入密码即可登录,但之后GitHub要求必须提供token令牌才能登录,导致了很多不便,而用SSH登录无须token令牌。
此外,branch:里需要填写你的仓库分支名,GitHub以前默认分支名是master,之后又改成了main,故我们也需要更改

1
2
3
4
deploy:
type: git
repo: # 你仓库的SSH地址
branch: main

如果按照文章二进行,一般情况下进行hexo d部署的时候不会出错,但是本人在后面选择某些主题的时候,遇到了第二个问题:
npm安装东西一般只会在当前文件夹进行,也就是说,如果你删除了当前文件夹,然后新建一个,需要重新运行关于npm的相关命令。,部署时出现报错,可能是忘了运行下面命令:

1
npm install hexo-deployer-git --save

此外,如果某些主题要求用pnpm安装,使用上述命令可能会报错,原因是pnpm和npm混用,本人把上述命令中的npm改为pnpm后,就可以安装成功了。不知道对不对,萌新不懂,瞎改的,能用,但是有类似警告一样的提示。

文章二是直接部署在了GitHub上,这里本人遇到了第三个问题:
GitHub的仓库必须是公共的,不能设为私密。(若直接部署在GitHub上则需要设为公共,但若后面采用Netlify建站,则可设为私密)

后面一些特效配置本人没有进行,打算之后选好主题后慢慢修改。因为GitHub访问经常需要魔法,故在此基础上再转为文章一的步骤进行,即后续采用Netlify建站和CloudFlare加速。

此环节本人虽然主要采用文章二进行,但文章一也值得学习,有关于Hexo的框架文件介绍等等内容。
最后,本人还参考文章一在package.json里修改以下内容:

1
2
3
4
5
6
7
8
9
10
11
{
// ......
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server",
"netlify": "npm run clean && npm run build" // 这一行为新加
},
// ......
}

转为Netlify建站和CloudFlare加速

现在开始主要参考文章一,从第4部分开始。在Netlify设置构建命令那里,本人遇到了第四个问题:
设置npm run netlify会出错,但去掉不会出错,好像对后续也没影响。可能由于网站更新的缘故,很多地方的操作位置换了地方,但仔细找找,还是可以找到的。

在配置域名环节,本人域名是从NameSilo处购买的,花费一美元,可上网搜索关于NameSilo域名购买和解析教程,本人主要参考了NameSilo域名解析和DNS服务器修改教程,和Namesilo DNS 域名解析教程和常见问题解决方法汇总注:NameSilo的界面也有所变化,但教程还是有参考价值的,自己慢慢找也能找到相应设置,本人只设置了一个CNAME,address名字是netlify部分操作最后给出的那个网址,不知道为啥,本人无法设置HOSTNAME为空,只能设置为www,不过在之后netlify里导入域名会自动加载带www和为空的网址。
后续操作也是按照文章一进行照猫画虎就行。在CloudFlare添加DNS记录那里,本人遇到了第五个问题:
添加DNS记录时除了文章一图片的记录外,还需要添加一条名称为www的记录,否则在后续操作中可能有www的网址无法访问或者https没有证书,本人两个都是CNAME类型。

最后在Netlify配置https时,如果检查状态良好,但点击后没有反应,属于正常现象,慢慢等一会儿就会显示证书了,之后测试站点,国内外都能访问带www和为空的你的网址时,就证明博客搭建成功了,后续就是主题选取装饰了。

博客主题选取与装饰

这部分本来挺简单的,但是自己的知识匮乏,还是耗费了很多时间。Hexo主题可以从官网获取,也可以直接在GitHub上找,本人在GitHub上找到的是Butterfly主题,配置教程写的非常详细,对萌新很友好。有很多主题由于年代久远,或多或少都有点问题,Shoka主题非常不错,发现也有了接替维护更新的ShokaX主题,emmm但由于本人遇到了一个问题,本地和部署的页面不一致,导致最后换成了Butterfly主题进行配置(折腾了一天多,本以为是主题或者自己操作的问题),但之后换为Butterfly主题还会出现本地和部署不一致,经过查询后得到了第六个问题:
浏览器有缓存,如果出现了本地和部署不一致(hexo shexo d页面不一样)的问题,可以在运行hexo clean后,在浏览器按Shift + F5进行强制刷新,之后显示就同步了。

本人博客图片采用图床存储,方案是GitHub + PicGo,参考视频如下:个人图床搭建指南:GitHub + PicGo 教程,视频里设置存储路径那里有点问题,按评论区改为 img/ 即可。本人原先用的是2.3.1正式版PicGo,不论开不开代理上传文件都无法成功,但之后换为2.4.0-beta.8就成功了。
一些教程里说是在GitHub设置仓库那里必须要求设为公共,以及在PicGo上传图片必须关代理,但是本人发现开代理确实能上传成功,但是仓库设为私密后过了一会儿再上传图片虽然会上传成功,但是在PicGo里无法显示图片,直接访问图片链接也会失败,上传图片时必须将仓库设置为公共,但不上传图片的话,也必须设为公共,虽然可能刚上传过且能在PicGo显示的图片还能在私密状态下继续使用,但这是暂时的,过几天时间后图片会无法访问,所以图片仓库必须一直设为公共。对了,发现在PicGo删除图片不会删除在GitHub上的图片,若删除图片本体的话,需要另行操作。

在博客搭建途中还有很多很多问题,但本人尝试复盘主要写了以上问题,多查询问题应该都能找到解决之法的。本人是业余人士,啥也不懂,若有问题请多多见谅,多参考别人可能会得到不一样的见解,这是本萌新的第一篇博客,谢谢观看!