我把翰林苑网站这个主题命名为 Adagio。Adagio 是五线谱中的一个速度记号,可翻译成“柔板”。这个速度让我觉得最为舒服。我最喜欢的 Adagio 音乐要属圣桑的《动物狂欢节》组曲中的《天鹅》。这是一首大提琴协奏曲,把天鹅的优雅表现得淋漓尽致。配合这首音乐,俄罗斯芭蕾舞艺术家巴甫洛娃演绎了一支《天鹅之死》,唯美而感人。周杰伦的电影《不能说的秘密》中,用钢琴重新演绎此曲,表现那分跨越时间求而不得之爱情的凄楚。“毕业典礼上,我会为你演奏”,“我能遇见你,已经很不可思议了”。多少誓言最后变成谎言,多少求不得最后变成放不下。Adagio 常常向我们传达这种带有淡淡忧伤的平静,而这正是我向往的生活状态。坐在美丽的安大略湖畔,看月光映照下的粼粼波光,有天鹅在湖水里把长颈弯成心形,我的脑海里挥不去大提琴和钢琴的优雅旋律,那一刻我决定,把这个主题命名为 Adagio,愿我的网站也有那一份宁静,与世人分享。

月光下的安大略湖

月光下的安大略湖

小站从 2017 年 3 月建立至今,已经运行了两年多。经历一番折腾和时间的洗礼,小站如愿得以出现在百度搜索和 Google 搜索的第一页。回想这两年多的历程,分外感慨互联网技术发展之快。

刚建站时,首先对建立静态网站还是动态网站纠结了一番。由于我一直想做在线的结构计算小工具,后端的处理能力显然更强大,所以研究了一些后端库,比如FlaskDjangoExpress等等。然而,FlaskDjango使用的PythonExpress使用的Node.js技术都相对较新,很少能找到价格合理的云服务器。当时还经历了一件事,就是申请了一个有免费流量限制的 Amazon ECS 服务器,自己搭了服务环境,然而由于网络安全理论水平极差,服务器受到 DDOS 攻击,被坑掉了一笔美元,从此心有余悸。而当时大多数虚拟服务商提供的还是PHP后端,在高中接触了一些PHP的我总觉得“PHP 是世界上最好的语言”,一点都不想涉足于此。于是还是转到了静态网站。

由于Github免费提供后端Jekyll程序来自动生成静态网站,本着省事的原则,就采用了Jekyll来作为静态网站生成器。又找了一个主题,是由Hux 同学编写的(在此表示十分感谢)。于是小站就这么搭起来了。既然要在静态网站做在线工具,避免不了前端技术,当时Angular十分火热,于是我也尝试使用起来,编了几个小东西,不过有点太消耗时间,于是后来也搁置了。那会儿还研究了很多JavaScript设计模式,好不容易搞点面向对象的特性出来,谁曾想,没过几年,class也进入了原生JavaScript中。

Github在国内访问非常不稳定,而且速度极慢。于是后来我找到了七牛云,它可以提供一定流量内的免费对象存储服务。可以把Github站作为镜像站,把它展示的内容拉取过来,作为 CDN 来分发,极大地提高了国内的访问速度。使用的主题也觉得不是自己编写的,有些地方不甚合我意,于是采用Bootstrap框架自己把主题重写了一遍。于是一个新版的翰林苑就此诞生。

不记得是什么时候接触到了Hexo。由于我不会Ruby,也不会使用Ruby on Rails,所以对Jekyll的运作方式完全不了解,既然不使用Github直接生成网站,一直想把Jekyll换掉。读了Hexo的文档后,我觉得它的设计思路还算比较清晰,而且Node.js是我比较熟悉的语言,于是果断决定采用它作为我的标配静态网站生成器。此时还有一个小插曲,由于同济大学木结构实验室迁到了新家,为了更好地管理,我使用Hexo开发了一个同济大学木结构试验室网站。并把这个网站托管在了中国的 Git 服务器Gitee码云上。这个服务器有很多优势,比如访问速度快、不开源代码依旧免费、更好的团队角色管理等等。而且它不仅支持Jekyll,也支持Hexo等其它静态网站生成器。让我感叹中国对开源软件发展作出的贡献。该站的框架搭好后,我便决定把个人网站用Hexo重写。

迁移的过程非常简单和顺利,只要把程序安装好,修改一下配置文件,网站就可以运行了。最费事的部分就是网站的主题。因为有些变量的命名HexoJekyll不同。很多主题要更新。我查找了Hexo官网的主题库,并没有找到心仪的主题。于是,我就产生了再重新写一个主题的想法。这次依然使用Bootstrap,从零开始,把一切都自己定制。

在编写主题的过程中,我发现了一个评论系统Valine,它使用LeanCloud提供的免费 Restful app 服务,配置方便,运行快速,秒杀掉了一系列苟延残喘的第三方评论系统。在使用它的过程中,我发现LeanCloud是一个很好的免费服务,于是又自己开发了一个JavaScript小程序applause-easy,用于在网站中加入鼓掌功能。重写一遍主题,也让我对 Responsive 设计和 CSS 的使用有了更深的了解。

写完这个主题,我又产生想法,为什么不把它发布到 Hexo 官网上让更多的人看到或者使用呢。于是我把主题整理了一下,发起了 Pull request,没想到很顺利地通过了。于是“翰林苑”三个大字就从此出现在Hexo官网上啦。写此文是为了纪念一下第一次成为一个大型开源项目的一部分。鼓励自己继续努力,还有很多 Repository 等着我来贡献呢,OpenSees 你准备好了吗?

董翰林的Adagio主题发布在Hexo官网