我玩博客的历史
说实话,已经记不清开始搞博客的契机是什么了。当年我还是个最纯正的CS小白,天天晚自习抱着一本C语言入门硬啃。岁月荏苒,这本书现在已经被我用来垫桌脚了。
其实我一直都是个很喜欢搞建设的人,我还记得最开始的时候,我用Wix搞过自己的网站。虽然因为是免费版,最顶上有Wix的广告,但还是玩得挺开心的。
后来接触了Linux和VPS,最后不知道为什么决定开始搞WordPress。这段时光太可怕了,我根本不敢回忆。纯小白,分不清各种Linux的发行版,明明用的是CentOS,居然去抄人家Debian的包管理指令;拿到新机的第一件事是装宝塔面板,然后从宝塔面板装WordPress…
那个时期搞了两个站点,一个幽默.xzy域名,从网上偷了一个花里胡哨的二次元主题,常年懒得维护,最后忘记续费VPS被删了;另一个是给朋友搞的,依稀记得注册了一个高端大气上档次的.net域名(我完全不舍得给自己注册这个),结果后来被人植入了钓鱼广告,清理不干净,Vultr直接把我号封了。
感谢那个混沌的时代终于过去了,我后来学了不少Linux的知识,不再像文盲一样了。24年底,因为诸多契机,我又把博客捡回来了,其实距离上次搞博客真的过去了很久。
一开始我是用我最熟悉的WP,有一种回到家的感觉。但是用了一段时间后,总觉得wp很一般。我是个很喜欢整理归档的人,wp的博客系统比较倾向于线性,所以我用着很难受。还有一点,就是古腾堡编辑器太难用了,效率低下。
于是我开始找下家,疯狂在网上搜“WordPress alternatives”,最后锁定了Kirby CMS、Grav CMS、Ghost三个。我先是都参观了一下demo,没什么特别的感觉。因为Ghost的托管有免费试用,我就试了一下,感觉diy空间不大,比较适合专注于博客的非计算机人士,于是弃之。之后我用学生邮箱从Kirby那申请了一个激活码,但因为感觉太金贵了,我懒得安装(什么毛病这是),于是暂时先跳到了Grav。
Grav我是真的喜欢啊,本来我就用Markdown写文章,Grav直接省了我转换来转换去的时间;而且管理员插件很强大,用起来很方便,不用一个一个去改yaml,我最喜欢的还是备份功能;最重要的是有很多DIY的空间。
然后我就开始建设Grav博客。其实,从wp迁过来,我第一感受到的是:荒。grav的社区比wp小多了,资源相比起来也少很多。插件商店不如wp的直观,而且有大量多年不维护的荒废插件;主题也是,grav的免费主题真的很少,而且很多几年前就不维护了。看着这一片荒原,我意识到一件事,高DIY自由度的代价是——必须要自己多动手。在看了一圈觉得不满意后,我就开始自己写主题了。
当然了,我这样的菜比怎么可能会什么HTML、CSS、PHP、Twig呢?还好时代在进步,我有我最好的朋友——ChatGPT。HTML我多少还是看得懂的,但是CSS我是真不会。比起不会,更不如说是品味太差… Twig是完全没有接触过的。至于PHP,多年的wp生涯让我对PHP充满意见。这么看下来,我真的啥啥都不会,那咋办?只能和ChatGPT硬磨了。
事实证明我是一个很烂的甲方,有点像什么都不懂还事巨多的领导,在改了N版后说“要不还是用第一版吧”。经过了一段时间的奋斗,我发现… 我已经因为反复指导失败后只能亲自上手,完全会写HTML和CSS了。我应该感动一下吗?
总之我的grav版博客,带着它有点土土的css上线了,我也在反复修改中,慢慢地让博客稳定下来了。
然而,距离我把首页的施工中摘掉仅过了半个月之后的某一天,我突然想给博客添加一个最新N篇文章的功能。我依然不会写php和twig,因为主题在施工的时候其实很少涉及这些。于是我苦苦央求ChatGPT,帮我写个最新文章的插件吧!ChatGPT不会写,当然也有可能是我太外行导致它变得不会写。
我沉默了,我忘了那是白天还是晚上,反正我嘴里什么都没叼——因为我不抽烟——一个人坐在电脑前,望着我有点点灰尘的电脑屏幕,陷入沉思。
——要不,咱们自己写个博客系统吧?
脑子里出现这个念头的瞬间,我真想扇自己。但是我对自己太好了,不舍得。寻思寻思,我觉得这确实可行,然后我就真的开始写了。
那用什么写呢?我一开始想到Python,因为我之前用过Flask。但是Python不符合我的个人美学,而且我觉得用它写博客是小题大做了,于是我把目光转到Go和Rust上。论开发速度,肯定是Go比较快,我想快点玩上,所以就选了go。
这里有个小小的问题,就是我也不会Go。
当然了,不会可以学是不是,于是我就跑到网上看了整整五分钟速成,然后告诉ChatGPT:我们用Go来写个博客系统吧!
Go的语法设计是真不错,非常直观好读;各种好用的库也很多,我的路由就用了gin。写个简单的,完全只自己用的博客系统其实挺快的,第一天就能跑了。之后我一直在加各种功能,让css更好看(其实美化用了我整整一天时间…),顺便优化加载速度。要说主要把时间消耗在那,那必是:"it doesn't work, why?" "it works, but why?"
只用了四天,我就上线了我(主要是ChatGPT)用Go写的博客。当我配置完nginx的反代,刷新我的域名看到它的时候,内心满满都是成就感。就这个完全自己DIY爽啊!
我发现一件很神奇的事情,搞博客也是,搞网盘也是,随着专业知识的增加,我一直在选择越来越简洁的方案。玩Linux最后玩到Arch也是同理吗? 可能入门就是这个样,一开始不懂,就会下意识选最大众的选项,而当理解加深了,选择就会变得越来越符合自己的个性,我觉得这很有意思。
总之,以此记录我玩博客的历史。