設定 hugo 而且用 org-mode 當作來源
如何做
- 安裝 hugo
brew install hugo
- 開新專案
hugo new site blog
-
安裝佈景
我用 git submodule 來解決這個記錄
git submodule add https://github.com/halogenica/beautifulhugo.git themes/beautifulhugo~
- 建立新文章
hugo new post/new-post.org
- 產生網站
hugo
目前使用 hugo v0.21 版(0.19版後就有支援), 可以直接吃 org 檔,範例如下:
#+TITLE: 設定 hugo 和 org-mode
#+DATE: 2017-05-29T09:4:78+08:00
#+SLUG: setup-hugo-with-orgmode
#+TAGS: hugo org-mode
文章內容… balabala
本來用 +, - 之類包起來的檔頭已經不用再加上,hugo 會用 org-mode 本身的特別前綴詞去當作關鍵字來使用,這是新版才有的功能。
像是 title 就是在 #+
之後的字,這個就會拿去當作區域變數來使用;若同時存在會以前面包起來的檔頭為主
因為用 org-mode 的方式寫,tags 之類的分類只要用空白就好,字串也不用引號包起來,算是非常貼近原生的使用的
不過還是有一些小問題,像是程式碼區域會多第一行空白,其他功能待測試。
Github page
用 hugo 這類的靜態網誌產生器就是要放在免費的空間,像是 github page 就是常見的解決方案
- 先在 github 開好 repo 並且把相關的東西加到 git 裡面
git init .
git add -A
git commit -m "Init blog"
- 調整產生的目錄
設定檔 config.toml
中把產生的目標目錄改成 docs
這樣就不用製作 gh-page
這個特別的 branch。
publishDir = "docs"
- 設定好上傳的目標,並且上傳
記得先用 hugo
產生出靜態網頁
git remote add origin <your_repo>
git push origin master
- github repo 設定
在 Settings > Options > Github Pages,把 Source 選為 master branch /docs folder 。
若使用這個 docs 目錄的話 CNAME 之類的也要放在其之下,而且只能是 docs 這個資料夾名稱。