HQ Software Foundation

个人博客的必要性

January 12, 2023

准备搞一个技术博客都是六年前的事情了。当时我正处在一个学习技术热情高涨的阶段,但很快我就不知道该写什么了。后来我试图在知乎和一些技术论坛上发表一些文章,但是到最后我还是觉得,个人博客是必要的。这个博客的代码托管在GitHub上,首先理解个人博客系统是怎么工作的就是一件值得分享的事情。

我想好好写博客已经很久了。之前2020年就迁移过一次,不过我当时被当时前端的的生态吓到了,之后也没有精力处理博客的事情。

这个博客基于 Gatsby。具体来说,是一个仿照了 Dan Abramov 的博客 Overreacted 的主题,这次把这个主题升级到Gatsby 5也花费了我很多时间。Gatsby不仅仅是一个静态网站生成器,它更是一个渐进式Web应用生成器,在最近一段时间非常流行于生成 JamStack 类型的网站。

一个好的博客框架应该支持什么?博客可以看作是CMS(Content Management System,内容管理系统)的一个特例。曾经 Ruby 生态的 hexo 是部署博客的最佳选择,在网上搜索能够得到一大片17-19年的教程。不过后来,基于前端生态的框架取得了领先的地位。尤其是背靠React的Gatsby成为了一个热门的选择。

Gatsby 有着多个插件,能够加载不同的数据源,在博客中,首先要支持的是Markdown格式。不同的数据源都可以通过统一的 GraphQL 框架进行查询。而博客的源码也不过只是简单的 React 代码而已。它使用了内置的 Typography.js 作为排版引擎,使用 prism.js 来提供 Markdown 中代码块的高亮。我又添加了一个插件用于嵌入字体。

不过,现在的博客功能仍然有很多不完善的地方。等之后文章多起来,可以增加一个总体的目录,还有能够为文章添加标签的功能也是必须的,这样可以按照不同的标签查找文章。其他的话,我觉得可以考虑加入MDX的支持,有了它就可以构建复杂的交互式博客文章。

至于写什么,这件事仍然值得考虑。既然能够搜索到大量的内容,尤其是CSDN上,一些垃圾内容已经污染了搜索空间,大量的博文根本没有分享的意义。我只希望自己不要写太多无意义的东西。也许下面这些东西是有意义的:

  1. 读论文的感想。去年我也上了一门研讨会的课程,但事实相当失败。读论文是一个把零散的知识点整合成完整体系的过程。如果不写点东西出来思维很容易就混乱了。
  2. 有趣的项目的分享。实际上我天天刷微博和 Hacker News 每天都能看到很多有趣的项目。阅读源码应该是一件很享受的过程,能够把阅读的过程分享出来也是一件乐事。
  3. 一些技术评论。比如新框架,新的编程模型,看到新技术书籍,等等。我之前看书也从来不记笔记,目前应该改变一下了。

认真的写作需要持之以恒地投入相当多的精力,反复的修改也是少不了的。总之继续努力吧!


© 2023, Built on 2023-12-28 11:20 with Gatsby