拓展阅读

blog-engine-01-常见博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 对比

blog-engine-02-通过博客引擎 jekyll 构建 github pages 博客实战笔记

blog-engine-02-博客引擎jekyll-jekyll 博客引擎介绍

blog-engine-02-博客引擎jekyll-jekyll 如何在 windows 环境安装,官方文档

blog-engine-02-博客引擎jekyll-jekyll SEO

blog-engine-04-博客引擎 hugo intro 入门介绍+安装笔记

blog-engine-05-博客引擎 Hexo 入门介绍+安装笔记

blog-engine-06-pelican 静态网站生成 官方文档

blog-engine-06-pelican 静态网站生成 windows 安装实战

blog-engine-07-gatsby 建极速网站和应用程序 基于React的最佳框架,具备性能、可扩展性和安全性

blog-engine-08-vuepress 以 Markdown 为中心的静态网站生成器

blog-engine-09-nuxt 构建快速、SEO友好和可扩展的Web应用程序变得轻松

blog-engine-10-middleman 静态站点生成器,利用了现代 Web 开发中的所有快捷方式和工具

前言

由于个人一直喜欢使用 markdown 来写 个人博客,最近就整理了一下有哪些博客引擎。

感兴趣的小伙伴也可以选择自己合适的。

在 Windows 上安装 Jekyll

尽管 Windows 不是官方支持的平台,但可以通过适当的调整来运行 Jekyll。

通过 RubyInstaller 安装

RubyInstaller for Windows 是安装 Ruby 和 Jekyll 的最简单方法。

  1. RubyInstaller Downloads 下载并安装 Ruby+Devkit 版本。使用默认选项进行安装。
  2. 在安装向导的最后阶段运行 ridk install 步骤。这是为了在安装具有本机扩展的 gem 时需要。您可以在 RubyInstaller Documentation 中找到关于此的更多信息。从选项中选择 MSYS2 和 MINGW 开发工具链。
  3. 从开始菜单打开一个新的命令提示符窗口,以使对 PATH 环境变量的更改生效。使用 gem install jekyll bundler 安装 Jekyll 和 Bundler。
  4. 检查 Jekyll 是否已正确安装:jekyll -v

通过 Windows 10 上的 Bash 安装

如果您使用的是 Windows 10 版本 1607 或更高版本,另一种运行 Jekyll 的选择是安装 Windows 子系统用于 Linux。

  1. 确保已启用 Windows 子系统用于 Linux。
  2. 确保所有软件包和存储库都是最新的。打开一个新的命令提示符或 PowerShell 窗口并输入 bash
  3. 更新您的存储库列表和软件包:
     sudo apt-get update -y && sudo apt-get upgrade -y
    
  4. 接下来,安装 Ruby。我们将使用 BrightBox 的存储库来安装 Ruby,该存储库为 Ubuntu 提供了优化版本的 Ruby。
     sudo apt-add-repository ppa:brightbox/ruby-ng
     sudo apt-get update
     sudo apt-get install ruby2.5 ruby2.5-dev build-essential dh-autoreconf
    
  5. 更新您的 Ruby gem:
     gem update
    
  6. 安装 Jekyll:
     gem install jekyll bundler
    

    不需要 sudo。

  7. 检查您的 Jekyll 版本:
     jekyll -v
    

您已经准备好开始使用 Jekyll 了!

非超级用户帐户问题

如果 jekyll new 命令打印出错误 “Your user account isn’t allowed to install to the system RubyGems”,请参阅Troubleshooting中的“Running Jekyll as Non-Superuser”说明。

编码

如果您使用 UTF-8 编码,当文件以表示 BOM 的字符开头时,Jekyll 会中断。因此,如果在文件开头出现此字节序列,请将其删除。

此外,如果在站点生成过程中遇到 Liquid Exception: Incompatible character encoding 错误,则可能需要将控制台窗口的代码页更改为 UTF-8。运行以下命令:

chcp 65001

时区管理

由于 Windows 没有本地的 zoneinfo 数据源,Ruby 解释器不了解 IANA 时区。因此,Jekyll 现在使用一个 rubygem 来基于已建立的 IANA 时区数据库内部配置时区。

在使用 Jekyll v3.4 及更高版本创建的“新”博客将默认将以下内容添加到其 Gemfile 中,但现有站点必须更新其 Gemfile(和已安装的 gem)以在 Windows 上启用开发:

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
  gem "tzinfo", ">= 1", "< 3"
  gem "tzinfo-data"
end

自动重新生成

当使用 --watch 开关指定进行构建或 serve 时,Jekyll 使用 listen gem 监视更改。

虽然 listen 内置支持 UNIX 系统,但可能需要额外的 gem 与 Windows 兼容。

如果在仅在 Windows 上自动重新生成时出现问题,请将以下内容添加到站点的 Gemfile 中:

gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?

您必须使用 RubyInstaller 的 Ruby+Devkit 版本,并安装 MSYS2 构建工具以成功安装 wdm gem。