设计理念

个人网站的主要作用是通过互联网展示自己的工作内容、研究方向、个人项目、兴趣爱好等。从长远来看,个人网站对找工作和交友都有益处。常见的博客系统,如WordPress、Ghost Blog,以及相似的内容管理系统(CMS),都因为固化的框架设计而难以满足现实使用。同质化是造成博客系统衰落的主要原因之一。相比之下,使用HTML/JavaScript/CSS技术从零开发的个人网站,则具有完全的自由度。

然而相应的,使用Web技术书写文章也有其局限性。首先是书写难度显著增加。HTML的标签并不适合长时间写作。其次,Web源码反复修改、编译、部署、运维,都会带来高昂的成本。这个项目的其中一个技术目标,即在自由度和成本之间取得合适的平衡。

文章分类管理

长期以来,博客文章的分类系统普遍存在不好用的情况。无论是按照发布时间、修改时间、标题字母序,都很难索引。一种合适的索引方式,是按照文件系统目录的形式,任由读者自行查阅。开发一个合适的React组件已被列入待办事项。

文章存储

对于博客系统来说,数据库存储是最直觉的一种技术方案。然而在实际应用中,写作这件事显著区别于其它软件项目。例如,几乎所有的笔记类软件,尽管其数据以数据库形式存储,都会向用户提供拟真笔记本的UI体验。Web UI也存在其局限性,例如它所有的功能都完全取决于复杂的UI设计和渲染。对于个人网站来说,尤其是技术类个人网站来说,这么做不仅丧失灵活性,还缺乏足够的开发资源。因此,最适合个人网站的文章存储形式也应该是文件系统。这种设计理念于GitHub Pages + Hexo不谋而合。

於是可以不回頭的逆風飛翔 不怕心頭有雨 眼底有霜