Jekyll 迁移到 Hugo
文章目录
更新
- 2020/07/08 更新部署命令参数
- 2018/07/22 初次发布
介绍
The world’s fastest framework for building websites
Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.
环境
- macOS 10.13.2
- Python 2.7.10
快速开始
|
|
Hugo 有提供社区制作的迁移工具链接: Migrate to Hugo | Hugo
官方提供了 import jekyll 命令与两个社区迁移工具
迁移尝试一
使用官方提供的 hugo import jekyll
子命令执行时出错:
|
|
迁移尝试二
最后提交是 2016 年 5 月 fredrikloch/JekyllToHugo: Small script for converting jekyll blog posts to a hugo site
|
|
两个 Python 工具都依赖 yaml 库,需要手动安装
|
|
开始前需要清理 .DS_Store
文件,使用以下命令清理
|
|
迁移尝试三
最后提交是 2015 年 9 月 coderzh/ConvertToHugo: Convert blog from Jekyll to Hugo
|
|
批量处理了 52 篇之后 Hugo 居然没有检测到,于是重启 Hugo 终于可以看到转换之后的效果。
正式迁移
初始化
|
|
设置主题
|
|
美化
修改设置、增加 logo、去除 google CSS 引用、增加 about 页面
迁移日志
使用之前介绍的迁移尝试三中的 coderzh/ConvertToHugo,由于需要将日期增加到日志链接中,同时保留之前链接的跳转,所以要稍微改造下脚本。
首先改造脚本增加导出 aliases 功能,因为原有链接是带有 .html
扩展名的,在生成 alias 需要增加扩展名。
其次由于默认生成的 yaml 中的数组并未正确缩进两个空格,还需要修正一下:python yaml.dump bad indentation - Stack Overflow
|
|
部署
直接按照官方文档中的 rsync 方法即可: Deployment with Rsync | Hugo
最近在查看 Google Analytics 时发现记录中出现了曾经使用过的 URL,应该是文章发布后发现 URL 错误,在修改前被搜索引擎索引了。
在调用 hugo
命令时,强列建议使用以下参数:
|
|
--cleanDestinationDir
参数可以帮助删除输出目录 public
中手动放置的文件或曾经在 static
目录中的文件(默认 hugo 会将 static
中的文件原样拷贝到输出目录 public
中)。
--gc
参数可以自动清理之前不再使用的 URL,例如一篇文章可能改过多次 URL,启用此参数会只保留最后一个有效的 URL 目录与文件,其他残留的 URL 目录与文件会自动删除。
最终的命令是:
|
|
文章作者 狂飙
初次发布 2018-07-22 23:57:21 +0800
上次更新 2020-07-08 12:38:58 +0800