Overview
Hugo 是一款使用 Go 編寫的靜態(tài)網(wǎng)站生成工具回右,和其它工具相比其靜態(tài)頁面的生成速度有很大優(yōu)勢(shì)枫虏。
安裝 Hugo
直接訪問以下地址下載對(duì)應(yīng)的安裝包即可
https://github.com/spf13/hugo/releases
如果是Mac平臺(tái)的話也可以直接執(zhí)行以下命令進(jìn)行安裝
brew install hugo
使用 Hugo
建立站點(diǎn)
hugo new site /path/to/site
如果是 Windows 平臺(tái)的話則使用 "hugo.exe" 替代上述命令中的 "hugo"
hugo.exe new site /path/to/site
創(chuàng)建文章
進(jìn)入剛創(chuàng)建的站點(diǎn)的根目錄
cd /path/to/site
創(chuàng)建 about.md
hugo new about.md
編輯創(chuàng)建的 about.md 文件晾咪,在文件尾端添加以下內(nèi)容
## A headline
Some Content
創(chuàng)建另一篇文章
hugo new post/first.md
創(chuàng)建后隨意輸入任意內(nèi)容
下載主題
在根目錄執(zhí)行以下命令會(huì)下載所有主題
git clone --recursive https://github.com/spf13/hugoThemes themes
如果網(wǎng)速慢的話,上述方式很可能不成功蚊俺,此時(shí)在站點(diǎn)根目錄執(zhí)行以下命令下載任一一個(gè)主題(此處下載的是 hyde-x 主題)
mkdir themes
cd themes
git clone https://github.com/zyro/hyde-x
運(yùn)行服務(wù)器
hugo server --theme=hyde-x --buildDrafts --watch
以上尿背,theme
用于指定主題名,buildDrafts
用于運(yùn)行 build 草稿橡伞,watch
用于監(jiān)控文件的改動(dòng)盒揉。
啟動(dòng)完畢后可以在瀏覽器中輸入以下命令觀察生成的站點(diǎn)
http://localhost:1313
托管博客到 Github Pages
Github Pages
Github Pages 是 Github提供的免費(fèi)靜態(tài)網(wǎng)頁空間《遗牵總共分為兩種類型:User 類型和 Project 類型预烙。
User 倉庫名必須為 username.github.io
,該倉庫的 master
分支用于托管靜態(tài)網(wǎng)站道媚,訪問地址為 username.github.io
扁掸。
Project 倉庫名可以為任意翘县,該倉庫的 gh-pages
分支用于托管靜態(tài)網(wǎng)站,訪問地址為 username.github.io/projectName
提交靜態(tài)網(wǎng)頁到 Github Pages
Hugo 創(chuàng)建的靜態(tài)網(wǎng)頁全部都在站點(diǎn)根目錄的 public
目錄谴分,所以只需要提交 public 下的所有文件到 Github 上就可以生成靜態(tài)網(wǎng)站锈麸。因此最基本的方法就是建立兩個(gè)分支,一個(gè)管理除 public
文件夾之外的全部源文件牺蹄,一個(gè)管理 public
文件夾下的所有文件忘伞。不過這種方式使用比較繁瑣,所以更推薦直接使用免費(fèi)的 CI 工具進(jìn)行自動(dòng)部署沙兰。
使用 Wercker 進(jìn)行自動(dòng)部署
Wercker 和 TravisCI 一樣都是免費(fèi)的 CI 服務(wù)氓奈。Wercker 建立在Docker上带饱,可以幫我們自動(dòng)完成靜態(tài)網(wǎng)站的生成和提交坦仍。
具體步驟
注冊(cè)賬號(hào)
-
選擇
settings
->Git Connection
-> 選擇github
后連接到你的 github 賬號(hào)
-
點(diǎn)擊
create
按鈕,創(chuàng)建你的應(yīng)用
-
選擇在 Github 上需要作為靜態(tài)網(wǎng)站的倉庫
-
選擇倉庫的擁有者仗扬,通常只要選擇你自己的賬號(hào)就可以了
配置訪問權(quán)限 (Configure access)斋射,直接選擇默認(rèn)的選擇
Next step
-
前面都執(zhí)行后到這一步時(shí) Wercker 會(huì)顯示
wercker.yml
文件的代碼模板育勺,直接在作為靜態(tài)網(wǎng)站的工程的根路徑建立wercker.yml
文件,拷貝網(wǎng)頁上顯示的代碼到該文件并保存罗岖,選擇Next Step
涧至。
Make my app public
保持原樣,選擇Finish
此時(shí)項(xiàng)目已經(jīng)初步設(shè)置完畢桑包,畫面上會(huì)顯示
Build now
按鈕南蓬,不過還沒有到 build 的時(shí)間,接下來需要修改wercker.yml
文件-
選擇
Registry
哑了,檢索hugo build
-
根據(jù)提示將代碼粘帖到
wercker.yml
文件box: debian build: steps: - arjen/hugo-build@1.5.0
提交
wercker.yml
文件赘方,此時(shí) wercker 應(yīng)該會(huì)自動(dòng)進(jìn)行第一次構(gòu)建-
接下來繼續(xù)檢索
gh pages
,根據(jù)提示繼續(xù)修改wercker.yml
文件垒手,其中domain
換成你自己的域名,這個(gè)值會(huì)被寫到CNAME文件中倒信,$GIT_TOKEN
為定義的一個(gè)變量科贬,它的值之后會(huì)進(jìn)行設(shè)置,basedir
為需要同步到gh-pages
分支的文件夾名box: debian build: steps: - arjen/hugo-build@1.5.0 deploy: steps: - lukevivier/gh-pages@0.2.1: token: $GIT_TOKEN domain: 你自己的域名 basedir: public
-
選擇應(yīng)用 ->
Settings
->Deploy targets
->Add deploy targets
-
按照下圖進(jìn)行配置鳖悠,其中
Deploy target name
可以任意填寫榜掌,GIT_TOKEN
變量對(duì)應(yīng)的 text 需要填寫你在 github 上建立的 token,具體可參照 https://help.github.com/articles/creating-an-access-token-for-command-line-use/ 選擇
OK
完成所有設(shè)置并提交wercker.yml
文件乘综,此時(shí) wercker 會(huì)自動(dòng)進(jìn)行 build憎账,完成后會(huì)將public
文件夾下的文件同步到gh-pages
分支下。
搭建問題匯總
有時(shí) build 后會(huì)報(bào)
unknown host: github.com
卡辰,此時(shí)無視即可胞皱,服務(wù)器偶爾的抽風(fēng)邪意,過個(gè)幾分鐘再試就可以了如果報(bào)
wrecker.yml
無法解析的話通常是 yml 文件中含有 tab 鍵,全部替換成空格就可以了-
如果 build 成功完成了反砌,但是 deploy 時(shí)報(bào)
git: command not found
雾鬼,這是因?yàn)闆]有安裝 git,需要修改wrecker.yml
來安裝 git宴树,完整代碼如下box: debian build: steps: - arjen/hugo-build@1.5.0 deploy: steps: - script: name: install git code: | apt-get update apt-get install git -y - lukevivier/gh-pages@0.2.1: token: $GIT_TOKEN domain: 你自己的域名 basedir: public
相關(guān)網(wǎng)站
- 官網(wǎng) http://gohugo.io/
- Github https://github.com/spf13/hugo
- 主題 https://github.com/spf13/hugoThemes/
推薦的主題
- bootie-docs
- casper
- hyde-x