如何使用org-mode和hugo搭建一个blog的工作流?
如何使用org-mode和hugo搭建一个blog的工作流?
安装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配置可以参考如下文章
1 安装emacs,并安装ox-hugo插件 这个插件的本质就是把我们编写的org文件转换成md格式的文件,我们只需要在模板里指定md文件的生成路径就可以了
2 编写用于生成hugo所需的md文件的org文件模板
3 复制一份模板,编写blog
4 使用快捷键C c C e H H生成md文件只hugo目录下
5 启动hugo本地服务,即可查看发布的文章