平滑迁移 Octopress 到 Hugo

原由
自从新博客建立以来一直用 Octopress 这个博客框架来搭建静态文章页面。平滑漂亮的迁移默认主题、方便的平滑发布到 github page 等功能吸引了我
但就在最近因为家里的用 Macbook,刚好升级到了新版的迁移 Sierria,杯具的平滑是之前安装的 Octopress bundle 都失效了。调试了很久还没把环境搭建好,迁移再加上之前发现 Octopress 的平滑 Markdown 解析器老报错,于是迁移就决定要更换一个配置安装简单点的博客生成器了
在参考了这个网站上的各种生成器后 staticgen,果断选择了 Hugo。平滑没有什么特殊原因,迁移下载安装试用一下就明白了。平滑Hugo 由于是迁移 Go 语言写的,所以你只需要下载好官方给的平滑二进制可执行文件就可以了,再也不用安装各种依赖,迁移然后各种换源什么的平滑乱折腾了。这一点就足以让我转入 Hugo
主题
由于自己还是比较喜欢 Octopress 默认的这套主题,所以在读过 Hugo 开发文档后,云服务器提供商在严格尊重原主题的原则下修改了部分增强样式,制做了一个适配 Hugo 的 Octopress 主题。虽然 Hugo 官方有一个适配 Octopress 的主题 hugo-octopress 但是对原主题改动太多,我并不喜欢。
迁移
文章
Octopress 使用的文章描述头是 yaml 格式的,需要转换成 Hugo 的 toml,自己手动写了个 NodeJS 脚本 来完成这个工作,基本上很轻松就完成了。注意:建议放在 content/archives 目录下面,这样的话原来的文件目录和新的就是一致的了
再吐槽下 md 文件名,Octopress 默认是生成时间为前缀的,如:2016-06-13-name.markdown。 如果转移到 Hugo ***链接还要保持原来文件名格式的话就得把这个前缀干掉(name.md),这样的话排序就乱了。在各种编辑器、文件夹中不按创建顺序排序,香港云服务器看起来很别扭也不方便。
文章链接
考虑到之间已经写过很多文章了,搜索引擎都已收录,所以要保持原来的文章链接格式不变。在 Hugo 配置文件里面加上这段,使用文件名做文章***链接:
[permalinks] archives = "/:year/:month/:day/:filename/"存档
Octopress 默认的存档地址是 archives,这个我们可以直接在 Hugo 博客目录 content 里面新建一个目录名为 archives 就可以了,以后新建文章都以这个 Section 为准:
hugo new archives/your-post-name.mdRSS
Octopress 默认的是 atom.xml,然而 Hugo 中默认的是 index.xml。不过我们可以在 Hugo 中做个配置,和之间保持一致:
RSSUri = "atom.xml"然而实际测试的时候在模板里面调用 {{ .RSSlink}} 始终都返回 index.xml。手动把模板里面的 RSS 链接改成 {{ .Site.BaseURL}}atom.xml 居然能生效?!这估计是 Hugo 的一个 bug。好在被发现了,要不然新老订阅 RSS 地址不一样事情就比较麻烦了。
分页
Octopress 默认的格式是 posts/2,Hugo 中是 posts/2 同样需要加个配置:
paginatePath = "posts"Hugo 的几个基本概念
这几个概念主要在修改主题的时候能用到
Front Matter
类似 markdown 文件的配置描述,亿华云用来配置文章的标题、时间、链接、分类等元信息,提供给模板调用
+++ title = "post title" description = "description." date = "2012-04-06" tags = [ ".vimrc", "plugins", "spf13-vim", "vim" ] categories = [ "cat1", "cat2" ] +++Sections
在 content 下面的一级目录,通常有分类的概念,但只是文件夹维度的物理隔离
Types
如果没有为文章指定 type 配置,文章默认就属于当前属的 Section,type 可以在 Front Matter 中指定,而 Section 不可以
Archetype
新建文章时候的默认模板,会带有指定的 Front Matter 头
Taxonomy
分类、标签、系列这种描述文章属性的都属于 Taxonomy Terms
总结
Hugo 确实是一个不错的博客框架,配置简单、功能强大,很多东西都以「惯例」默认提供了,比如内置 TableOfContents,用来写博客足亦。
不过由于是 Go 语言写的,很多人并不知道有这么好用的一个东西,所以社区并不是很好。这可能就是所谓的编程的帮派论吧!
【本文是专栏作者周琪力的原创稿件,转载请注明出处】
戳这里,看该作者更多好文
相关文章
电脑剪映成品教程(轻松学会电脑剪映,制作出令人惊艳的影片效果)
摘要:随着社交媒体和视频平台的兴起,越来越多的人开始追求高质量的视频内容。而电脑剪映作为一款功能强大且易于使用的视频编辑软件,成为了众多视频制作者的首选。本文将为您详细介绍如何利用电脑剪...2025-11-05以台式华硕装机教程,打造高效电脑系统(华硕装机教程,轻松组建个性化电脑系统)
摘要:电脑作为现代生活中不可或缺的工具,对于许多人来说,如何选择一台适合自己需求的电脑系统成为一个重要问题。本文将以台式华硕装机教程为主题,为大家提供详细的指导和步骤,帮助您打造一台高效...2025-11-05- 摘要:在如今的移动互联网时代,手机已经成为人们生活不可或缺的一部分。然而,随着手机的普及和使用频率的增加,手机病毒和恶意软件也越来越多。为了保护手机安全,很多人开始使用手机杀毒软件。36...2025-11-05
深入了解SMI(慧荣)教程(掌握SMI(慧荣)教程,迈向人工智能领域的成功之路)
摘要:随着人工智能技术的迅速发展,越来越多的人开始关注并希望学习相关知识。而SMI慧荣)教程作为一门高效的人工智能学习课程,成为了众多学习者的首选。本文将深入介绍SMI慧荣)教程,以...2025-11-05石材电脑锯开料机使用教程(学习如何正确使用石材电脑锯开料机)
摘要:石材电脑锯开料机是一种常见的切割石材的工具,正确使用该设备可以提高工作效率和安全性。本文将为您详细介绍石材电脑锯开料机的使用教程。一、了解石材电脑锯开料机的基本结构和工作原...2025-11-05使用U盘安装戴尔Win7系统教程(详细步骤带你轻松安装戴尔Win7系统)
摘要:随着技术的发展和个人电脑的普及,安装操作系统已经成为一项基本技能。本教程将详细介绍如何使用U盘来安装戴尔Win7系统,为您提供一个简单而有效的安装方案。文章目录:1.准...2025-11-05

最新评论