你好,HEXO
你好,HEXO
我滴个亲娘嘞,怎么就开学了啊啊啊啊啊。看着思源里建了文件和标题没写的博客和好几个折腾方向,我只能大喊一声:要命…
为啥换博客?
Emmm,吐槽结束,下面进入正题。
早在很久很久以前,咱就简单介绍过几种常用的博客类型。过了一年…只能说当初还是太年轻了啊。
好吧具体的原因是因为就我这么个破博客还能被打了,不是哥们你有本事就干正事啊,打我这么个站干哈?虽然套了层CF挡了不少,但是还是干了我七八百 g 的流量。然后给我气得啊…当天晚上就换了Hugo,至于为啥现在又成了Hexo,咱后面再说。反正最后的结果是…
再见,Typecho
你好,Hexo
再说博客
去年咱说了Wordpress,Typecho,Hexo仨博客类型,现在除了这仨,另外再补充下 Hugo ,VitePress,和 Halo 。感觉除了在公众平台写博客或者自己手搓程序的大佬,应该也就这些最常用了吧。当然好像也有用Jekyll什么的搭建的,但是真的见得不多…
WordPress
- 最多人使用,最开放的社区,最多的主题和插件,最丰富的功能
- 同时…最恐怖的资源占用
Typecho
- 用了一年~
- 主题插件不算少吧,但是大部分停止维护了,能用的不算太多,可能得自己魔改
- 落后的PHP代码,官方八百年更新一次
- 至少比WordPress轻量多了
HEXO
- 在用
- 基于nodejs,好看的主题不少,插件也不少,方便折腾
- 生成速度比Hugo慢
- 纯静态
Hugo
- 用过
- 采用Go编写,生成速度比Hexo快
- 据说因为整这玩意的都是后端大佬的原因,好看的主题比较少
- 好吧就个人而言好看的其实不少了,但是都是偏向极简风
- 这玩意其实是站点生成工具,不只是博客
- 纯静态
Halo
- 和大名鼎鼎的1panel一家的
- 搭建简单,插件够用,主题好看,功能强大
- 部分功能收费
VitePress
- 静态站点生成
- 具体没用过不多评价
- 我只知道很多 Wiki 都是这玩意做的吧,还挺好看
嗯,又过了一遍,为什么选择HEXO也就清晰起来了。纯静态方便托管不需要服务器,套个CF全站缓存加速率限制防打。主题好看且可配置项多,方便魔改折腾。
迁移过程
嗯,因为我用的是Sqlite版本的Typecho,就因为我用的是Sqlite版本的Typecho,导致迁移到Hugo和Hexo的过程都不是那么顺利…
迁移到Hugo
因为最后没用所以不多说,下载启用这个插件,把我用GPT修改后的action.php替代原文件(GPT唯一真神!),然后在控制台导出,最后将解压的 content 文件夹替代Hugo下目录就行
迁移到Hexo
用的是这个工具,不过是只能给 mysql 的 Typecho 用的,所以继续靠gpt魔改吧。
下载这个文件,改一下里面你的数据库路径,然后Python运行就是了,记得安装需要的库。
最后替换掉Hexo的source目录,Hexo三件套一把梭。
HEXO,启动!
提供静态页面托管的服务其实很多,Vercel,Github Page,Cloudflare Page什么的,但我最后还是选了Vercel,主打一个熟悉。
在 Vercel 搭建 Hexo 是非常简单的,最简单的方法,你只需要使用官方模板,啥都不管一直下一步,你就能获得一个Hexo博客。但是…官方模板太老了,最近更新都是两年前(为什么Hugo的模板更新得这么快),导致使用新版的主题和插件时显得各种水土不服,所以在体验一把之后,我毫不犹豫删掉了它。
最后我的方案其实也没啥差,无非本地部署Hexo保证代码最新,Push到 Git 仓库交给 Vercel 构建,在这里稍微记录一下
安装Nodejs
添加储存库
1 | curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - |
安装nodejs
1 | sudo apt-get install -y nodejs |
换源
1 | npm config set registry https://registry.npmmirror.com |
安装Hexo
先全局安装命令行工具
1 | npm install -g hexo-cli |
然后初始化
1 | hexo init 文件夹 |
这时候就会在你设置的文件夹生成一些基础文件,
- config.yml是网站的配置信息(但是使用主题的话尽量不要在这个文件里瞎折腾,用主题的配置文件)
- themes装主题
- source装之前生成的文件,其实也就是一些文章啊什么的
- package.json 会告诉Vercel需要哪些包
- node_modules 安装的包,npm方式安装的主题也在这里
然后可以本地启动看看
1 | hexo clean |
现在访问本地4000端口就行了,本地运行方便后续调试
Push到Github
在项目文件夹打开终端,创建仓库
1 | git init |
添加文件,Commit,提交
1 | git add --all |
啥?你这时候还没远程仓库?那最后一步先别做了,先去Github创建一个仓库吧,我是设置了私有保证安全性。
然后创建一个ssh密钥
1 | ssh-keygen |
1 | 下面一路回车 |
然后就可以正常Push啦
Vercel部署
打开Vercel注册一个账户,直接Github登陆然后绑定邮箱就好,然后进入控制台后点击Add-NEW – Project ,在下面可以导入之前的仓库,导入一键下一步完事,的确太简单了。
PS.由于自带域名被墙,你需要在Domain那添加一个自己的域名
1 | cat ~/.ssh/id_rsa.pub |
尾声
写博客真是太难了….家人们谁懂啊,一篇博客陆陆续续写了一个星期。其实还有很多优化没写,比如SaaS接入Cloudflare享受防御,全站缓存。换主题,对主题的配置,自建 CSS 样式,装各自插件巴拉巴拉巴拉,不过实在懒了,下一篇博客都已经有雏形了,所有就先留个坑等慢慢填吧