目录

如何使用org-mode和hugo搭建一个blog的工作流?

如何使用org-mode和hugo搭建一个blog的工作流?

安装hugo

可以参考如下文章安装使用Hugo

hugo快速开始

Hugo搭建博客教程

1 我使用的是window系统,建议下载hugo_extended_0.69.0_Windows-64bit.zip类似这种的extended版本,这种版本支持编译sass。

2 配置hugo.exe到环境变量中去,这样就可以随处执行这个命令。

3 使用Hugo快速生成站点,比如希望生成到 /path/to/site 路径:

$ hugo new site /path/to/site

4 这样就在 /path/to/site 目录里生成了初始站点,进去目录:

$ cd /path/to/site

5 这样就在 /path/to/site 目录里生成了初始站点,进去目录:

$ cd /path/to/site
$ ls
  ▸ archetypes/
  ▸ content/
  ▸ layouts/
  ▸ static/
    config.toml

6 创建一个 about 页面:

$ hugo new about.md

7 about.md 自动生成到了 content/about.md ,可以打开 about.md 看下,markdown格式的。

8 创建第一篇文章,放到 post 目录,方便之后生成聚合页面。

$ hugo new post/first.md

9 到 皮肤列表 挑选一个心仪的皮肤,比如你觉得 even 皮肤不错,找到相关的 GitHub 地址,创建目录 themes,在 themes 目录里把皮肤 git clone 下来, 并且把even中config.toml文件copy到站点根目录下

git clone https://github.com/olOwOlo/hugo-theme-even themes/even

10 在你的站点根目录执行 Hugo 命令进行调试:

$ hugo server --theme=even --buildDrafts

11 浏览器里打开: http://localhost:1313

12 部署blog 假设你需要部署在 GitHub Pages 上,首先在GitHub上创建一个Repository,命名为:qikun1990.github.io (qikun1990替换为你的github用户名)。 在站点根目录执行 Hugo 命令生成最终页面:

$ hugo --theme=even --baseUrl="https://qikun1990.github.io/"

(注意,以上命令并不会生成草稿页面,如果未生成任何文章,请去掉文章头部的 draft=true 再重新生成。)

如果一切顺利,所有静态页面都会生成到 public 目录,将pubilc目录里所有文件 push 到刚创建的Repository的 master 分支。

$ cd public
$ git init
$ git remote add origin https://github.com/qikun1990/qikun1990.github.io.git
$ git add -A
$ git commit -m "first commit"
$ git push -u origin master

浏览器里访问:https://qikun1990.github.io/

github pages部署好后无法加载css、js?

一般都是生成最终页面时给的baseUrl不正确

如何使用个人域名?

1 通过ping获得github pages的ip

2 在域名提供商处增加如下两个解析

CNAME WWW qikun1990.github.io

A @ 上一步ping到的ip

3 在github上添加域名

配置emacs

emacs&ox-hugo配置可以参考如下文章

Org to Markdown for Hugo

使用 Emacs + ox-hugo 来写博客

轻松使用 ox-hugo 来创建博文

1 安装emacs,并安装ox-hugo插件 这个插件的本质就是把我们编写的org文件转换成md格式的文件,我们只需要在模板里指定md文件的生成路径就可以了

2 编写用于生成hugo所需的md文件的org文件模板

3 复制一份模板,编写blog

4 使用快捷键C c C e H H生成md文件只hugo目录下

5 启动hugo本地服务,即可查看发布的文章