静态网站生成工具选择
目录
Hugo/Hexo/Jekyll比较
考察了一下static web site generator,常用的有jekyll,hexo和hugo,我根据自己的情况,选择了Hugo。
| Name | Home | Language | Pro | Con |
|---|---|---|---|---|
| hugo | https://gohugo.io/ | golang | 安装简单github star数多有问题可以自己解决 | 需要使用github action更新 |
| jekyll | https://jekyllrb.com/ | ruby | 老牌工具github star数最多github pages原生支持模板比较多 | 需要安装ruby速度慢介绍比较旧 |
| hexo | https://hexo.io/ | JavaScript | 中文文档比较好 | 需要使用github action更新 |
Jekyll
- github pages官方文档中使用的是jekyll,之前ruby也没怎么用过,虽然与其他语言大同小异,但是用起来不够熟悉,导致很多步骤出现问题。
- 然后网上关于jekyll的文章很多都是4-5年前的。
- github pages的版本是3.9.0,官方已经是4.2.0了。
- jekyll官方还不支持windows,考虑到以后可能不止在一个平台写日志,这个已经是一个不小的缺点了。
- 安装gem和bundle的官方源太慢了,虽然可以替换国内mirror解决,第一次安装的时候停了好长时间才发现是网络问题,在心中又减了一分。最后,看源码和查找问题比较麻烦(还得先学ruby),果断放弃。
Hexo
- Hexo是JavaScript的,虽然nodejs也经常用,但是自从用上golang和python后,已经尽量避免使用nodejs了,放弃。
- Hexo的中文文档还是不错的。
Hugo
Hugo在star数量上跟jekyll相差不大,而且是golang实现,下载的时候官方release就一个可执行文件,安装太方便了,本来写blog就是要简单,如果环境搭建太麻烦就得不偿失了。
下面就详细讲一下Hugo的使用。
Hugo使用
安装
在github release页面下载安装包,解压其中的可执行文件,将其路径加入到path中
新建site
命令行输入
| |
选择theme
到Hugo Themes选择一款主题,我使用的是第一个Hugo Future Imperfect Slim
| |
设置config.toml
参考wiki,修改自己的config.toml
启动local server
启动local server,打开browser,边编辑边看效果
| |
添加日志
使用hugo new命令添加一篇post
| |
完成后可以在blog目录下看到新的md文件,将draft改为false,编辑保存后就能在本地看到。
使用github action来自动生成页面
我使用的是actions-gh-pages 添加github action文件到git中,然后每次push的时候,github action就会生成新的页面并上传到gh-pages分支。如果有问题可以在settings中的github pages相关设置中调整显示的分支和目录。
需要注意的是官方例子中监视的branch是main,如果使用的是master,需要修改为:
| |