孤岛和咖啡馆

2023.7.3 · 杂谈

2023 已经过去了一半,而我最新的一篇博客文章居然是在一月份发布的。

不过嘛,我确实没什么可写的,而最近几个月的活动都集中在后室中文维基这个社区,甚至在那边混成了一个版主,明明比别人后来但文章分数排名已经冲到全站第七了。说出来我自己都有些佩服自己,但人的热情是有限的,在那边忙得风生水起,自然就忘了自己还有个博客这件事情了。

看了看日期,发现我的 VPS 又要到期了。记得去年也是,好几个月不管博客,突然想起来准备折腾一下,结果发现自己还要交三百多块钱续费。这实在是有些不划算。而且 SSL 还过期了,之前弄的自动续期貌似出了问题,但是我真的懒得去修了。

我的个人主页一直托管在 Vercel 上,SSL 什么的完全不用担心,而且个人使用完全是免费的。那我为什么不放弃 Typecho,把我的博客搬到 Vercel 上来呢?毕竟,现在静态博客才是大势所趋,而且对我这种三天打渔两的博主来说性价比极高。

不过问题又来了,我不想用 Hexo,或者是 Jekyll 和 Hugo 这样的博客框架,因为我完全不会写静态博客的主题,而我自己又懒得学,并且我非常不想要我的博客和别人的看起来一样。

于是,就如你所看到的 Isla 诞生了。

每个独立博主都该自己写博客程序

我不记得我是在什么时候看到过这句话的了。尽管这句话有些玩笑的性质,但它的确激励了我写一个自己的博客程序。当然,并不是像做产品一样写一个 Hexo 那样通用的静态网站生成器,我想完全为自己定制一个,还剩去了做主题嵌套以及一些自己根本用不到的功能的工夫。

抱着这样的想法,我开始着手这个项目。既然是要托管到 Vercel 上,又想要省事,当然要找一个好用的前端框架。我之前一直用的是 Next.js,十分顺手,但奇怪的是,我这次不想用 Next.js 写了。

我也不知道自己是哪根经搭错了,总之,我找到了另一个看起来还不错的框架 —— Svelte。

等等你这不还是要重新开始学吗?

Svelte 和 React 很不一样,但我没耐心啃全英文的教程,坚信实践是最好的老师,于是什么都不懂就直接上手写了。结果是,因为各种特性的不同我踩了很多坑,甚至同一个效果,在 React 和 Svelte 上不仅实现方式不一样,实现的逻辑都天差地别,我的脑子到写完 Isla 都还没适应过来。

难怪用 Svelte 的人少。

经过无数次的报错和一次重写,Isla 终于完成了。和以往的博客不同,Isla 把我的个人主页和博客合并了,也就是说,现在 blog.guhub.cn 这个域名已经弃用了,以往的所有博客文章都到了这里,同时 Isla 也继承了之前 www.guhub.cn 的大部分用途。这是好的,因为维护一个站点比维护两个要轻松多了。

名字的由来

实不相瞒,我有一种被我称作「取名强迫症」的毛病,即在开展一个项目之前,必须得把名字取好,不然就没办法继续,因为没有名字我就不知道该给仓库的文件夹取什么名字,叫 my-project 的话可太蠢了。还有一点原因,大概是中学时代写考场作文留下来的毛病。

因为这个毛病,我在开始编写之前十分焦急地跟 Chat GPT 询问取名的意见,让它列出各个语言里某些我喜欢的词的翻译,最后选择了西班牙语的「岛」,也就是 Isla。当然取这个名字不是为了放洋屁,我还有两方面的考虑:

  1. Isla 同时也是英语 Island 的前四个字母,去掉尾部,象征极简主义,只取其精华;
  2. Isla 还可以拆分为 is 和 la,is 表示「是」,la 则可以看作「快乐」和「悠然自如」的象征。

不考虑这两层含义,Isla 本身作为「岛」的意思就让我很有好感。互联网上每个人都是一座孤岛,岛与岛之间用船只和桥梁相连,组成了一个整体。岛是整体中的个体,它强调个体的独特性,也强调个体与个体之间的联系。于是 Isla 的名字就这么定下来了。

有什么变化

现在博客不叫「考拉咖啡馆」了,说实话,我的确对之前的名字不太满意。要说变化的话,最大改变的应该就是界面,其次是评论系统。静态博客麻烦的一点就是没有数据库的支持,没有原生的评论系统,不过好在我发现了 Giscus,它是基于 GitHub 之前推出的 Discussion 功能开发的,操作比 Gitalk 简单多了,只需要五分钟就能给自己的网站安排上。不过嘛,这就苦了没有 GitHub 账号的访客了,但好处是不用受到垃圾评论(Spam)的打扰。

对我自己来说,还有写作方式的改变。静态博客没有后台,我又懒得自己写一个,而且博客文章的储存方式也只是 Markdown 文件而已,所以只要找到一个用得顺手的 Markdown 编辑器就好了。于是我立马想到了 Typora,然后发现,它居然收费了。

无奈,最后还是花钱了。

顺带一提,Isla 也支持 RSS 订阅,订阅这个地址就可以了!

Giscus 出了一点问题,刷新试试?