目录

静态网站生成工具选择

Hugo/Hexo/Jekyll比较

考察了一下static web site generator,常用的有jekyll,hexo和hugo,我根据自己的情况,选择了Hugo。

NameHomeLanguageProCon
hugohttps://gohugo.io/golang安装简单
github star数多
有问题可以自己解决
需要使用github action更新
jekyllhttps://jekyllrb.com/ruby老牌工具
github star数最多
github pages原生支持
模板比较多
需要安装ruby
速度慢
介绍比较旧
hexohttps://hexo.io/JavaScript中文文档比较好需要使用github action更新

Jekyll

  1. github pages官方文档中使用的是jekyll,之前ruby也没怎么用过,虽然与其他语言大同小异,但是用起来不够熟悉,导致很多步骤出现问题。
  2. 然后网上关于jekyll的文章很多都是4-5年前的。
  3. github pages的版本是3.9.0,官方已经是4.2.0了。
  4. jekyll官方还不支持windows,考虑到以后可能不止在一个平台写日志,这个已经是一个不小的缺点了。
  5. 安装gem和bundle的官方源太慢了,虽然可以替换国内mirror解决,第一次安装的时候停了好长时间才发现是网络问题,在心中又减了一分。最后,看源码和查找问题比较麻烦(还得先学ruby),果断放弃。

Hexo

  1. Hexo是JavaScript的,虽然nodejs也经常用,但是自从用上golang和python后,已经尽量避免使用nodejs了,放弃。
  2. Hexo的中文文档还是不错的。

Hugo

Hugo在star数量上跟jekyll相差不大,而且是golang实现,下载的时候官方release就一个可执行文件,安装太方便了,本来写blog就是要简单,如果环境搭建太麻烦就得不偿失了。

下面就详细讲一下Hugo的使用。

Hugo使用

安装

github release页面下载安装包,解压其中的可执行文件,将其路径加入到path中

新建site

命令行输入

1
2
3
4
5
6
7
# 新建site
hugo new site boolking.github.io
cd boolking.github.io

#初始化git
git init .
git add remote https://github.com/boolking/boolking.github.io

选择theme

Hugo Themes选择一款主题,我使用的是第一个Hugo Future Imperfect Slim

1
2
cd themes
git submodule add https://github.com/pacollins/hugo-future-imperfect-slim.git

设置config.toml

参考wiki,修改自己的config.toml

启动local server

启动local server,打开browser,边编辑边看效果

1
hugo server -D -p 11111

添加日志

使用hugo new命令添加一篇post

1
hugo new blog/choose-static-generator.md

完成后可以在blog目录下看到新的md文件,将draft改为false,编辑保存后就能在本地看到。

使用github action来自动生成页面

我使用的是actions-gh-pages 添加github action文件到git中,然后每次push的时候,github action就会生成新的页面并上传到gh-pages分支。如果有问题可以在settings中的github pages相关设置中调整显示的分支和目录。

需要注意的是官方例子中监视的branch是main,如果使用的是master,需要修改为:

1
2
3
4
on:
  push:
    branches:
      - master  # Set a branch to deploy