细心的你可能会发现,上次的博客的格式略有不同了,这是因为我开始用 ox-hugo 来写文章了,我们来看一下如何用 emacs 的 ox-hugo 包来写博文
其实我原本是觉得 hugo 的原生 org 支援是够用的,当然缺点很多,比如
对于表格我之前的态度是能用列表,就用列表,图片的话没有办法,不过直接写 html 也不是很烦,不过最近 # more
无效真的是让人有些烦恼,
<!--more-->
敲起来真的是心情很糟糕,而且看上去短期官方也无意去修正这个问题。
我的英文抱怨文下有读者提到可以试试 ox-hugo,其实我开始用 hugo 时就已经听说这个工具,但是出于够用不折腾的态度,只使用了 hugo。而且 emacs 的包,总是给人一种非常难配难用的感觉,包括这次的 ox-hugo,无论是官网,或是其他中英博客,全是大段的配置和函数,让人头痛。
emacs 的高可配置性确实是其很重要的特点,但也的确会吓退很多人。而且当我用 ox-hugo 写出第一篇博客时,我发现其实我并不需要那么多配置和函数,配置好 ox-hugo 需要的说明甚至没有我这里啰哩啰嗦的文字长,如果你也是想用 ox-hugo 却又对复杂配置望而却步的 emacser(可能很多人认为这样不算 emacser),我们话不多说开始吧
emacs 说没有门槛那都是骗人的,所以要使用 ox-hugo 你需要具备以下经验,这些内容不会在本文中介绍
这是一种类似 markdown 的文本格式,如果你没有用过 org 也就没办法用 ox-hugo 写博客
你的 emacs 应该已经配置好 melpa 来安装一些 emacs 包
ox-hugo 只负责把 org 文件转换成 hugo 更友好的 markdown 文档,你依然需要 hugo 来生成你的博客站
使用 M-x list-packages 打开包列表,光标移至 ox-hugo,按 i 设为待安装包,按 x 执行,之后根据提示确认安装,直至安装结束
打开你的 emacs 配置档,加入以下内容,重启 emacs,大功告成
(with-eval-after-load 'ox
(require 'ox-hugo))
(require 'ox-hugo-auto-export) ;; 更新:目前已不需要这一行了
我们可以开始写博客啦,但是为了方便以后写更多的文章,我们可以先创建一个 org 文件作为模版,之后我们只需要复制模版,改名,就可以方便写博了
我们在 hugo 博客目录下创建一个 ox-hugo 目录,在目录中创建一个 template.org 文件,内容同这个链接
其中配置项及其含义如下(是的我们要用表格了)
配置 | 含义 |
---|---|
HUGO_BASE_DIR | 博客目录相对于该文件的位置 |
HUGO_SECTION | 之前保存 hugo 创建的 org/md 文件的相对位置,ox-hugo 的输出位置 |
HUGO_WEIGHT | hugo 排序权重 |
HUGO_AUTO_SET_LASTMOD | 自动修改编辑时间 |
TITLE | 文章标题 |
HUGO_TAGS | 标签 |
HUGO_DRAFT | 草稿标记 |
hugo: more | 摘要正文分隔符 |
Footnotes | 用来保存文档的配置 |
org-hugo-auto-export-on-save | 保存时自动导出 |
其中你最需要修改的是 HUGO_SECTION 的位置,这个根据博客目录结构可能会不同,其他都可以套用现有配置
现在我们写博客,只要复制一份模版,改名后填入内容,保存文件时,ox-hugo 就会自动生成一份 md 文档到 hugo 的原始博文目录,是不是又有了一等公民的感觉呢,当然对于 hugo 来说,其实它只是 parse 了一份 md 文档而已,跟 org 已经没有关系
使用 ox-hugo 的步骤其实没有那么复杂,安装包,配置,复用模版,然后我们就可以开始码字啦