静态网站生成器

如果追溯到最早的网站形式,那时候的网页都是静态的,即一个内容不变的html文件放在服务器上,人们通过互联网访问浏览的都是这个一成不变的页面。后来,人们发现,需要和网页进行交互,能根据用户的输入动态呈现出相应的内容,这就是动态网站。那,为什么现在又回归使用静态网站呢?

特别是对于博客网站这种特殊的形式。我的理解是:

  1. 访问速度提升。静态页面不需要像动态页面那样经常去查询数据库,而是直接将最终页面内容返回。
  2. 搜素引擎友好。便于搜索引擎索引,比如很多动态网站的页面地址是一样的,只是后面传入的参数不一样,容易让搜索引擎误认为是同一个页面。(虽然不会)
  3. 可以完全抛弃数据库,减少复杂度,将最复杂的一步交给静态网站生成器,自己只专注写作、生成、发布三个步骤。
  4. 博客文章可以以文本文件的方式(MarkDown)在本地维护管理,不需要像之前那样在网页的编辑器里提交到网站数据库。你可以方便的使用github管理你的博客文章,不会丢失,又能追溯到每一次的内容变更。

之前最流行的静态网站生成器是Jekyll,它是github创始人自己实现的一套ruby的静态网站生成器。一经推出,各个程序哥竞相效仿,一时间使用Jekyll搭建自己的博客变成了一件很高逼格的事情。

独立博客这块也尝试过自己实现的博客程序,用Java写过,后来又用Tornado写过,都是动态网站。自己实现博客程序,总是在开始一段时间内很狂热,当一切实现完成,细节修缮好之后很快就失去了兴趣。因为你的注意力从只是写文章,经常转移到其他地方去。比如网站不好看,需要去改一改网站的风格样式,修复BUG,加一加功能等等。

所以,如果只是专注于写作,还是找一个稳定一些,提供大量现成皮肤,有稳定专业的组织维护更新的博客系统。

随着Go1.9版本的发布,让我意识到是时候好好玩一玩Go语言了。使用Go语言实现的静态网站生成器Hugo(雨果)立即吸引了我,它解决了我最大的痛点:生成的效率。文档、社区各方面的支持都不错,使用起来非常简单,各种皮肤直接套用,于是我开始使用Hugo搭建博客。(我终于可以开开心心的专注的写文章了,而且使用喜欢的MarkDown格式。)

主要参考资料:

分享 评论