从0到1:回顾建站历程
一路走来,创立博客的想法经历了数次转变,这些转变不仅是技术路线的调整,更是发展方向的明确。随着一切逐渐明晰,博客也就自然而然地完成了从零到一的过程。
想法阶段
从技术出发
创办博客的想法,最初起源于大学时期开设的静态 WEB 开发入门课程,当时我想把课程内容学以致用,结合课外自学,完成了第一版托管于 Github Pages 的静态博客页面,因为是练习作品,所以很快就不再维护了。
后来出于技术学习及研究的目的,我相继尝试了主流的技术路线,包括 SSR(服务端渲染)、CSR(客户端渲染)、SSG(静态站点生成)、Jam Stack(SSG+API混合架构)等,也自己部署并体验了 Ghost、WordPress、Halo、Typecho、Orchard 等博客/CMS系统。
总结下来,这些技术或工具各有优势,不过我认为 SSG 技术路线更适合个人博客建站,因为其原生具备高性能、并且可以将安全防护以及内容托管转嫁给类似 Github Pages 的免费服务,可以最大程度降低博客运维的心智负担,避免由于技术问题而大幅占用个人经历甚至影响正常生活。因此,我开始持续关注 Hugo、Hexo 等 SSG 工具的发展,并寄希望于将来使用这类工具建站。
随着调研的结束,博客建站这件事在技术上对我的吸引力逐渐降低(转而开始研究云原生),单纯建站这件事,很难提起我的兴趣。所以最后我的博客没有创立,以至于我不得不在知乎发布一些文章。
这一阶段,创立博客的想法主要是技术学习与调研,考虑的角度大都从技术出发,不过,这一阶段所积累的技术在后面正式建站中发挥了巨大的作用。
从域名出发
你可能已经注意到了,本站的根域名是jiaxiang.wang
。
没错,正是本人姓名王嘉祥的国际与学术写法 Jiaxiang Wang。
如果一个人的名字拼音为 wang jia xiang,那么最能够代表他们的域名,有且只有 jiaxiang.wang 一个,而这个域名正是本站的域名。
姓名域名的价格这就像是从前的QQ靓号、手机号靓号,通过特殊性与来体现其珍贵价值,因此我也是“斥巨资”四位数才购得 jiaxiang.wang 域名。当年看到这个域名我还在犹豫不决,在一位贵人的建议下我才最终下定决心购买这个域名。
作为 jiaxiang.wang 域名持有者,如何发挥这独一无二域名的价值就成为了一个难题。
作为IT行业从业者,我对计算机领域的姓名域名开展了调查。发现姓名域名主要被用于个人博客网站(不用查都知道),且这类网站数量众多,因为对计算机背景的人而言(哪怕不是计算机专业),依托开源的工具和免费的托管服务搭建博客是非常简单的一件事。在博客领域,域名的选择除了姓名域名之外,更多人选择不暴露个人真实姓名,而采用昵称、影视动漫作品人物名等词语。除了自建博客,更多人使用知乎、CNBLOG 等平台发布内容,因为建站容易维护难,后期消耗的精力会让相当多数量的博主转向第三方平台,而且在带有社交属性的平台还能让博主收获更多的关注与认可,获得情绪价值远高于自建博客。其实,不管是自建博客还是第三方平台,对于博主而言,最重要的是内容创作输出的质量与数量。对于网站来说,进入移动互联网时代之后,域名的重要性更是在不断下降。因此,即使博客采用姓名域名,也只是让访客感到眼前一亮以及更容易记住域名罢了,当然,这还是建立在博客内容足够吸引人的基础之上。
作为热爱音乐与创作的音乐人,音乐领域姓名域名的用途我也进行了调研。在这个领域,姓名域名主要被明星用作自己的官方网站,例如:Taylor Swift等,其内容涉及了作品宣传、演出预告等商业性质的内容,并且我发现大部分明星的官网本身会由于内容更新不频繁、缺少明星本人互动等原因让人产生一种不太热闹的印象,很难让路人成为“回头客”。我认为在音乐领域,依托姓名域名的明星官网主要起到一个宣传补充的作用,为了占据网站这一宣传途径并且作为一个备选的信息发布渠道。因为在互联网上,明星的宣传活动必须以粉丝/目标受众活跃的社交媒体为主阵地,姓名域名更多是提高明星的声望(所谓“高看一眼”),但是对结果的影响十分有限(明星是否有名气、赚到钱和网站、域名几乎无关)。
虽然当年没有对更多领域进行调研,但这足以让我得到一个基本的结论:姓名域名固然有其价值,但对结果的影响微乎其微。姓名域名只是我们这些互联网“居民”的一身华服,而我们能走多远,是由我们本身的内在决定的。
对于博客而言,内容最为关键,因此,这一阶段由持有域名jiaxiang.wang
带来的建站热情慢慢消失了。不过,我却开始关注博客之外的领域,比如传播学、自媒体等。
从初心出发
千里之行,始于足下。
要想创作的内容得到大家的认可与共鸣,关键是开始创作。上文提到的任何一种想法,都能成为一簇火苗,且足以变成促使一个人创立博客的火焰。即使是非技术背景的人,也有特别多写作平台供选择。
然而完美主义的性格让我始终觉得想法尚未“完善”,时机不够“成熟”……以至于,几年的时光就这么悄然流逝,博客的想法已然淡化。虽然自我认为并未荒废时间,但也错失了在互联网上结识更多志同道合朋友的宝贵机会。
本以为事情就这么停滞不前,直到去年(2023年)发生了转机。
一次偶然的瞬间,我觉得既然写博客的事不知猴年马月才能提上日程,索性就把域名当作域名邮箱使用吧。用to@jiaxiang.wang
作为社交邮箱,岂不是特别拉风?这也算是用另一种方式发挥域名的价值了。
有了这个想法,我便开始调研各类域名邮箱的方案,在浏览了众多博文后,看到了《域名邮箱的新思路》,文中基于iCloud的域名邮箱方案完全满足我的需求,并最终成为了社交邮箱to@jiaxiang.wang
的托管方案。因为基于iCloud的域名邮箱方案在国内比较小众,所以我对博主产生了好奇心,继续在他的博客邓邓的流水账闲逛。好家伙,不看不知道,这位博主竟然在音乐、计算机、摄影等领域都颇有造诣,我向来对擅长音乐与计算机的人充满好感!看完他的博客使我收获很多,收藏了,又是一位宝藏博主。
在即将满载钦佩之情离开博客之际,我的余光瞟到了《个人blog并不是一座孤岛》这篇文章。阴差阳错地,我点了进去,看到博主与另一位同样擅长音乐和计算机的博主Ayu互动,既然看见音乐和计算机跨界的博主,那必然要去博客逛一圈的。可万万没想到,这一趟博客之旅竟意外重启了我的博客旅程。
看到Ayu博客的第一眼,我就知道这个博客没那么简单。我从未见过如此用心、如此精致的博客,其设计美观却不喧宾夺主,内容充实并且井然有序,博客(至少在博客界)开创性地采用太阳黄经、时令节气等方式记载文章日期……总之博客细节之精妙唯有亲自拜访方能体会。如果有一天Ayu看到了这篇文章,我想她大概率会“生气”这里仅仅介绍了其博客之表象,而忽视了其博客之内涵、忽略了开源的音乐游戏、忽略了欢快的交响乐作品、忽略了“硬核”的专业设计……
Ayu的博客仿佛有一种魔力,让人想点击每一个链接去探寻可能的惊喜。随着“寻宝”的深入,我像是走进了作者的故事,专业、兴趣、乐团演出、日常生活……虽然经历不同,但那永不枯竭的精力,勇往直前的热情……为何如此似曾相识?
我的思绪也逐渐被拉回到大学的时光。我,好像,曾经,也是,这样的人啊!
为什么?为什么现在的我竟然开始羡慕——想变得像博主这样优秀?
仅仅过去5年,就忘了吗?!
低头望去,我正和大多数同龄人一样,正缓缓陷入平淡生活的泥沼。
哪怕是曾经绽放光辉的太阳,时间也会让其坍缩成吞噬一切的黑洞。
当时的我,终于理解“光辉岁月”的“唏嘘”。正如我在《创站号:启航》中写到:
他们让我想起还在象牙塔时的自己,那时不切实际的理想、不顾一切的努力、不假思索的热爱……那个用青春染红晚霞的年纪,穿越时间的距离,化成心中悄然的泪滴。都说,人开始老了,才开始回忆。久违的记忆,却已被时间冲刷得不甚清晰。
从那一刻,我开始从记忆中寻找过去的自己,寻找被遗落的初心,正因为此,我坚定了创立博客的想法。在博客的世界,将始终住着不忘初心的自己,为我,以及素未谋面的来客,抵御着时间伟力的侵蚀。后来,我也在《创站号:启航》中写下:
余生说长不长,说短不短。我们在生活中不断成长,不断变化,最后变成连自己都陌生的模样。可这正是人生的有趣之处不是吗?我并不担心自己会改变,但我担忧的是曾经的自己被今后的自己遗忘,因为曾经的自己虽然不会再次出现在人生的旅途,但那份消逝的青春,一直默默维持着点燃生活激情的星星之火。我想,悉心保管自己的初心,时过境迁之后,仍能回忆起曾经的自己,被自己感动,被自己治愈。这里,正是我用来寄托初心的锚点。
创立博客的想法,就这么坚定下来了,意料之外却有情理之中……
有时候,人和人之间的影响,就是这么奇妙。博客的友链,从另一个维度,验证了六度分隔理论──世界上任何互不相识的两人,只需要很少的中间人(平均6个)就能够建立起联系。偶然建立的缘分,背后却遵循自然的规律,即使是素未谋面的人,也有可能以出乎意料的方式为我们带来“力量”!博客的旅程,就是与同路人不断互相提醒、互相鼓励,努力不偏离人生旅程的主干道。
为了确保文章描述准确,我重启了 Ayu 博客之旅,写下这一段话时,正听着她的《蓝星飞行日记》。我的思绪再次飞回到那个平常却不平静的一天,回想起被 邓邓的流水账 和 Ayu 接连震撼的心境,不同的是,这一次初心,尚在!
构思阶段
当我以初心作为创立博客初衷,那些令我举棋不定的问题纷纷迎刃而解。那么接下来就是回答“想把博客建成什么样子”这个问题了。
技术路线
在想法阶段,我已经对博客技术路线形成了基本的框架:
总结下来,这些技术或工具各有优势,不过我认为SSG技术路线更适合个人博客建站,因为其原生具备高性能、并且可以将安全防护以及内容托管转嫁给类似Github Pages的免费服务,可以最大程度降低博客运维的心智负担,避免由于技术问题而大幅占用个人经历甚至影响正常生活。因此,我开始持续关注Hugo、Hexo等SSG工具的发展,并寄希望于将来使用这类工具建站。
几年时光过去,基于SSG的静态网站技术得到了飞速发展,并且随着开源生态和 FaaS 函数即服务等技术的成熟,即使是静态网站也能够依托第三方服务获得接近动态网站的功能体验,如评论、搜索等,这些服务的集成对于一名架构师而言更是“小菜一碟”。综合金钱成本、时间成本、心智负担等因素,我最终选择了 SSG 作为主要建站方案。
这几年间,老牌SSG工具愈发强大,同时也有一些新的SSG工具出现。基于 Rust 语言的 Zola SSG 工具逐渐进入了我的视野,其提供了友好的模板语法和快速的网站构建,并且只需要单个二进制文件即可完成所有步骤,维护十分方便。作为 Rust 语言的支持者,我自然十分中意Zola,测试后便确定了使用 Zola 作为 SSG 工具。
至此,博客的技术路线已经了然:使用 SSG 工具建站,辅以第三方服务实现评论、搜索、监控等功能。对于博客这类小型网站,甚至能够实现0成本的运行,每年只需要域名续费的费用。
外观主题
如果说技术路线支撑着博客的“里子”,那么外观主题则关系着博客的“面子”。
对于寄托初心的博客,我既不希望它看起来千篇一律,也过了追求特立独行的时期。看过了几十个博客的外观主题,都缺少让人眼前一亮的感觉。
追求眼前一亮的感觉对于博客来说是十分奢侈的,毕竟博主群体中设计师比较稀缺,而同时懂设计和计算机的博主就更加稀少了。但是稀少归稀少,统计学上总会有的嘛,这不,张洪Heo博客就被我意外碰见了。
看到张洪Heo博客的第一眼,我便知道这就是我需要的!不仅是外观设计,博客的阅读体验、交互设计、响应速度都可以称得上天花板。为什么张洪Heo博客可以这么流畅?原来底层是基于 SSG 的静态网站,这和我的建站技术路线不谋而合!
逛完博客,发现博主同样是跨界达人,产品、设计、研发都不在话下,不过,我已经被优秀博主们震惊习惯了。
幸运的是,张洪Heo博客授权了数个衍生的开源外观主题,无私地为他人提供。这样任何人都可以自行构建类似的网站,而我也因此能够基于开源主题正式开始建站了。
内容板块
既然“里子”和“面子”都有了,那么博客发布什么内容呢?
在我的规划里,博客同时承担了知识库、作品集的作用。
作为知识库的博客,是我将自己的经验回馈给互联网的媒介,为后来者提供参考或指导。这一部分不应仅限于计算机专业领域,生活感悟、职业经验都可以在这里分享。对于内容的组织,我不希望博客变成杂货铺,倾向于以系列/专栏为载体,形成系统化的解决方案,避免碎片化打游击地分享知识。
作为作品集的博客,是我展示宣传原创音乐等作品的窗口,同时用来鞭策自己不要放下业余爱好,哪有人以年为单位创作歌曲啊!
……
计划通,开工!
建设阶段
前面已经讲过,我决定采用 Zola 作为 SSG 建站工具,并使用张洪Heo博客的开源衍生主题。
Zola 工具在国内非常小众,并且无法直接使用张洪Heo博客开源衍生主题。因此,我做的第一件事就是主题移植。
主题移植
因为不同建站工具所采用的主题技术有所不同,因此建站工具之间的主题并不能直接兼容。所谓主题移植,就是把主题的配置、模板文件等在不同的建站工具技术框架下互相转换,目标是使用不同的建站技术仍然能拥有相同的外观。
主题移植不是一项困难的工作,但却非常繁琐,工作量巨大,需要细心和耐心。对于这类工作,以前只能水磨工夫一点点推进,可现在不一样了,我们有人工智能大语言模型帮我们完成。针对这个主题移植项目,我决定采用 Cursor AI 编程工具代替我完成基本的语法转换,然后由我进行细节上的微调,这样主题移植的工作量能够指数级减少。
我先尝试移植基于 Hexo 的开源主题 安知鱼主题,却没想到竟遇到了一个巨大的挑战:受限于 AI 大模型的能力,对 Hexo 主题采用的 Pug 模板技术理解程度较低,因此转换后的模板几乎不可用,而且 AI 对于超长上下文的记忆时间较短,难以处理较长的代码文件。
这个问题使我对 AI 辅助完成主题移植的信心大幅降低,而如果手工移植主题的话,投入的时间又将远超预期。因此,权衡利弊之后,我决定再给 AI 一次机会。
第二次尝试,我选择换一种框架,移植基于 Halo 的开源主题 hao,Halo 的主题采用 Thymeleaf 模板技术,和原生 HTML 的语法具有较强的相似性,我认为 AI 应该能胜任转换工作。
在尝试之后,果真如我所料!AI 很顺利地帮我转换了所有模板文件,虽然还有一些上下文记忆之类的小问题,但整体瑕不掩瑜。
AI 的工作已经完成,剩下就看我的了。接下来的几个星期,我一直在梳理逻辑、测试验证、解决问题之间循环往复。在主题移植的过程中,我也从 tabi、abridge 等 Zola 博客主题中参考了最佳实践。随着完成的文件增加,移植后的主题也逐渐完整,随着最后一次完全还原外观的成功运行,宣告主题移植圆满成功!
最后一步是网站优化。我们通常使用 LightHouse 工具从性能、无障碍、最佳实践、SEO四个维度来评价网站的质量,最终得分代表了网站的用户体验。在优化之前,由于素材尺寸、代码冗余等问题网站平均分仅有70分,经过了十几处必要优化过后,博客上线时网站平均分提高到了95分。网站上线后我会持续优化,争取达到满分100分。
服务集成
在主题移植工作基本完成后,我开始对博客依赖的服务进行集成。
首先,我使用 CloudFlare Pages 平台托管了网站本体,并进行了线路的优化,提高在国内的访问服务。
然后,我将 Algolia 搜索云服务集成到网站内,为访客提供全站内容搜索功能。
接着,我集成了 Twikoo 开源评论组件,大家可以在文章末尾与我进行互动。
为了获得博客的访问数据,我使用了 Google Analytics 数据收集服务。
完成这些步骤,博客基本的框架就完成了,随时可以对外提供服务。
下面,是时候开始写一篇文章纪念博客上线了……
总结
很多事情之所以未曾开始,往往只是因为缺少一个无法拒绝的理由,以及一份临门一脚的推力。而这一次,博客的成功创立,正是得益于这些契机的汇聚。除此之外,还要感谢互联网让我们彼此连接,人与人心灵之间的碰撞,正是这片数字空间的奇妙之处,它不断催生出新的火花,点亮创新的道路。
那些美好的记忆啊,请务必留存在互联网之中。或许岁月会改变许多,但过去记录下的点滴,一定会在未来的某一刻,为我们重新唤起温暖与感动。
虽然创立博客的历程虽已接近尾声,但运营博客的旅程才刚刚开始。期待在这条路上,继续与大家相遇、交流,共同见证更多精彩的时刻。
展望
博客创立的历程,更像是一场关于初心的旅程。
时至2024年,博客早已不再是互联网的主流,大多数个人博客早已因时代的洪流而沉寂。然而,我选择再次回归这一领域,准确来说,是以博客平台为中心,探索自媒体的新可能。这不仅是对传统博客和互联网共享精神的一种致敬,更是对内容创作的一种坚持。
未来,博客的内容将同步更新至公众号等平台,不仅是为了扩大传播的范围,同时也为文章版权提供更好的保护。通过多平台的联动,我希望在信息快速更迭的时代,依然能用文字记录思考,用内容传递价值。同时,以自媒体的方式运营个人博客,我希望能将其打造成一个属于自己的 MCN,成为创意与表达的实验场。
无论未来形式如何变化,我始终相信,优质的内容与真诚的表达,才是紧握初心、立足于时代洪流的不变基石!
致谢
最后,感谢这些素未谋面的博主和优秀的开源项目,让我们成为彼此不断前进的力量!
(以下按时间先后排序)
- 博客邓邓的流水账:初心启发
- 博客Ayu:初心启发
- 博客张洪Heo:网站设计启发
- 项目Zola:支撑博客构建
- 项目hexo-theme-butterfly:上游主题
- 项目hexo-theme-anzhiyu:初次尝试移植
- 项目halo-theme-hao:二次尝试移植
- 项目tabi:主题移植参考
- 项目abridge :主题移植参考