Hexo 迁移到 Hugo
快速开始
blog 之前用的是 hexo 来实现,但换新环境都要搞一大堆东西,很麻烦,所以荒废了好久没写什么东西了。
这段时间打算迁移到 hugo1,一个 go 写的生成静态博客的工具,生成速度极快,且能关联到 github-pages。
这篇文章简单记录如何使用 hugo,以及如何与 github-pages 打通。
hugo 具体使用可参考官方文档,上手及其简单,我使用的是 next 主题2。
github pages
配置 github-pages 也较简单,且支持多种配置方式,我采用了GitHub User or Organization Pages3 的方式,大体步骤如下:
-
新建一个
blog的repo,将本地的hugo目录导入至该repo。 -
添加
public目录至gitignore,保存官网提供的deploy.sh,然后提交到远程。 -
将
github-pages的repo以submodule引入至hugo的public目录,注意,如果需要先删除本地的public目录(如果存在)。 -
将
github的repo作为submodule引入至public,这样每次hugo生成的静态文件就直接push到了该repo。 -
关键操作如下
|
|
以上,操作简单方便,没有一堆 nodejs 的依赖,生成速度极快,可见即所得。
添加评论系统
开源的评论系统很多,我选择用 utterances,一个依托于 github-issues 的评论系统,配置及其简单。
修改 config.toml 文件,这里我直接使用 liuyu121.github.io 作为 repo。
注意:这里的 repo 填写的是名称,而不是全地址,否则会加载不出来。
|
|
图片处理
- 图片都放在
static/img目录下,在文章引用方式为: - 在
archetypes/default.md文件添加typora-root-url: ../../static
这样,我们就可以正常的在 MD 文件插入图片,而服务器与本地都能正常展示了。
脚手架
deploy && publish
改写了下 官方的 deploy.sh,支持 publish 与 deploy,脚本很简单,本质就是封装一系列命令。
|
|
push && new post
- 生成新的
md,并自动打开(将.md文件默认打开方式设置为Typora) - 自动
pull
|
|