Back to Articles

博客网站开发与重构回顾

三天集中重构的实践经验与未来策略

/Henri

我现在需要回顾一下过去三天的时间,主要是对我的网站进行重构。

前天的下午,我在浏览纳瓦尔的博客后,决定复刻一下他的博客。不过,随后我去骑车了,回来的时候已经大概十点多。纳瓦尔的博客网站非常简洁,我也需要一个比较简洁的网站,于是我用 windsurf 进行了复刻。我调用了 Gemini 3 Pro,效果好得让我震惊,只花了一次就基本完成了网站雏形的搭建。当然,也不是完全一次完成的,因为我之前做过几个网站,我让 AI 直接把之前网站的一些配置搬过来,进行了重新整理,效率非常高。

做完这些事情后,接下来要做的就是丰富网站内容。这是第二天的工作。第二天,我基本上完善了网站的不同功能模块,整体做得比较完善。这个时候我开始思考网站的定位,主要是提升页面展示效果,让它看起来更好看,同时还需要保持轻量化。因为我之前有一个比较大的博客网站,那个网站非常臃肿,内容太多了。

另一方面,我实在没怎么维护它,它原来的性能也是越来越差。我希望这个新的网站能够比较高效。

对这个网站,我的期望是:

  1. 首先用来更新我的文章,我自己写的文章。现在很难不去用AI来写,但是以自己为主导、以AI为辅助的创作,至少对自己来说这是非常重要的事情。这个博客网站将会主要更新这一类的文章。那些直接由AI生成或搬运的文章,我会放到其他地方。当然,这些东西也有价值。

  2. 另一个期望是让它进行一些推文备份的管理。我会每隔几天把推文下载下来,然后用AI来进行整理。实际上是用这个网站来进行整理。我下载下来的是JSON格式的文档,这种格式非常严格。我在几个月前曾尝试过把它转成Markdown格式,但这种格式的文件非常大,打开Markdown后基本上没办法进行任何操作。于是我就想到,为什么不直接把这些JSON原始数据放到一个文件夹里,然后通过程序直接生成网页内容?

后来发现这条路非常可行且高效。我对推文页面进行了一些管控,增加了导航式功能,例如时间轴显示。在过去一段时间里,我每天都会更新推文,效果非常不错。当然,因为推文数量较多,可能有几千条,整个页面在加载过程中还是会比较卡,内存占用在加载较多内容时也非常高。不过,这项工作主要是自己使用,用于回顾或方便进行本地检索,以了解自己之前写的内容,觉得还是很有帮助。

这是我新建网站的两大功能。当然,在这3天的时间里,尤其是在今天,我又增加了一些效果和功能。例如:

  • 文章目录用了一些比较漂亮的呈现效果,我还是比较满意的。

  • 我还增加了一个"topics"模块,可以把自己想做的事情放到网站上。

  • 最后还增加了RSS订阅功能。

这些是今天做的。在做这个网站的间隙,我从昨天下午到今天上午,也把我之前的那个"linguista"网站进行了一些更新。

重构的过程比较激进。因为我觉得代码还比较臃肿,于是就让AI提建议,把一些多余的、自己额外添加的CSS去掉。因为这些东西太多了,而且它们内部的逻辑存在很多冲突。于是我把所有的样式都改用了Tailwind,这样就可以更轻松、更高效地实现视觉效果。

我昨天一晚上就基本上对这个博客网站进行了最初步的重构。当然,重构之后的结果是,网站很多之前堆砌出来的功能变得比较混乱了。于是,我把之前的网站备份了,然后在一个新的代码库中进行修改。

到了今天上午,我终于完成了这个网站的这轮重构。然后,我又用当前的这个新代码库替换掉了之前的库,以它作为网站的基础设施。

这个网站后续还需要迭代,要做的工作还挺多,我想我还需要花费很大的精力。但是,我不希望再进行这种非常专注的、集中的大修改了。我希望的策略是每天修复一两个bug,久而久之,逐渐地把这个网站做得比较完善。