选择一个合适的静态网站生成器比较难,尤其是当你第一次想要搭建一个博客网站的时候。这是我第一次搭建一个博客并且没有足够的时间去尝试所有常见的生成器,我选择了 Jekyll 作为第一次搭建使用的生成器,尽管它可能不是最好的一个。我准备以后再尝试其他生成器。

这是我从 Google 找到的一些简要的描述,希望它能对你选择什么生成器开始搭建网站有帮助。

我从 GitHub 选择了以下三个静态博客生成器进行比较

什么是静态网站生成器

  1. HTML 文件;
  2. 没有服务端处理或者数据库交互;
  3. 比动态网站更安全;
  4. 利于使用 CDN 进行扩展;
  5. 缓存会带来比动态网页更高的效率;
  6. 请求超快速。

Jekyll

  • 使用语言 Ruby
  • GitHub 支持;
  • 使用 GitHub Pages 免费部署。

优势

  1. 免费且开源;
  2. RubyGems 支持构建主题为 gems 方便分发;
  3. 简单便捷使用;
  4. 强大的 GitHub Pages 支持;
  5. 开箱即用的合适的默认极简主题。

劣势

当网站内容不断增加后,构建速度会明显变慢。

功能

  • Liquid 模版引擎;
  • 基于 Gem 主题;
  • MarkdownYAML 类型支持;
  • Sass 预处理 CSS 支持;
  • 官方插件支持 CoffeeScript

Hugo

  • 使用语言 Go.

优势

  1. 免费开源;
  2. 速度非常快,对构建速度做了优化;
  3. 内置支持很多功能:
    1. 动态 API 请求的内容;
    2. 无限制内容类型;
    3. shortcakes, 一个灵活的 Markdown 替代;
    4. 国际化;
    5. 别名重定向;
    6. 分页。
  4. 预制的 Go 模版和模式;
  5. 无需依赖(不用安装 Go,因为它是编译好的二进制);
  6. 功能强大的内容模型。

劣势

  1. 主题使用 Go 模版,所以需要熟悉 Go;
  2. 没有内置默认主题;
  3. 缺少扩展性和插件(因为 Go 是编译型语言)。

功能

  • Go 模版;
  • 国际化;
  • 支持动态 API。

Hexo

  • 使用 Node.js.

优势

  • 相当快速;
  • 在 GitHub Pages 部署简单;
  • 中文支持(可能是劣势对于非中文用户);
  • 中文社区。

劣势

  • 没有英文。

功能

  • EJS 模版引擎;
  • 支持 中文;
  • 对于 HTML + CSS + Javascript 非常友好。

我正在使用

Jekyll

喜欢

  1. 非常多的免费主题和插件;
  2. 有很多教程对于初学者来说;
  3. 不需要任何技能就能部署到 GitHub Pages 上。

不喜欢

  1. 对于大多数插件没有被 GitHub Pages 支持;
  2. 不支持国际化。

顺便一提,由于目前文章数量比较少,构建速度不在我的考虑范围之内,将来如果用 Jekyll 明显感到构建变慢的时候,我就会尝试其他的生成器。

以上三个生成器的构建速度排名:Hugo > Hexo > jekyll

下一个将来要尝试的生成器应该是 Hugo,到时候我会更新这篇文章,写一些实际的使用感受。

参考链接