使用 Hugo 搭建個(gè)人靜態(tài)博客

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)站的生成和提交坦仍。

具體步驟

  1. 訪問 http://wercker.com

  2. 注冊(cè)賬號(hào)

  3. 選擇 settings -> Git Connection -> 選擇 github 后連接到你的 github 賬號(hào)

  4. 點(diǎn)擊 create 按鈕,創(chuàng)建你的應(yīng)用

  5. 選擇在 Github 上需要作為靜態(tài)網(wǎng)站的倉庫


  6. 選擇倉庫的擁有者仗扬,通常只要選擇你自己的賬號(hào)就可以了


  7. 配置訪問權(quán)限 (Configure access)斋射,直接選擇默認(rèn)的選擇 Next step

  8. 前面都執(zhí)行后到這一步時(shí) Wercker 會(huì)顯示 wercker.yml 文件的代碼模板育勺,直接在作為靜態(tài)網(wǎng)站的工程的根路徑建立 wercker.yml 文件,拷貝網(wǎng)頁上顯示的代碼到該文件并保存罗岖,選擇 Next Step涧至。

  9. Make my app public 保持原樣,選擇 Finish

  10. 此時(shí)項(xiàng)目已經(jīng)初步設(shè)置完畢桑包,畫面上會(huì)顯示 Build now 按鈕南蓬,不過還沒有到 build 的時(shí)間,接下來需要修改 wercker.yml 文件

  11. 選擇 Registry哑了,檢索 hugo build

  12. 根據(jù)提示將代碼粘帖到 wercker.yml 文件

    box: debian
    build:
        steps:
            - arjen/hugo-build@1.5.0
    
  13. 提交 wercker.yml 文件赘方,此時(shí) wercker 應(yīng)該會(huì)自動(dòng)進(jìn)行第一次構(gòu)建

  14. 接下來繼續(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
    
  15. 選擇應(yīng)用 -> Settings -> Deploy targets -> Add deploy targets

  16. 按照下圖進(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/

  17. 選擇 OK 完成所有設(shè)置并提交 wercker.yml 文件乘综,此時(shí) wercker 會(huì)自動(dòng)進(jìn)行 build憎账,完成后會(huì)將 public 文件夾下的文件同步到 gh-pages 分支下。

搭建問題匯總

  1. 有時(shí) build 后會(huì)報(bào) unknown host: github.com卡辰,此時(shí)無視即可胞皱,服務(wù)器偶爾的抽風(fēng)邪意,過個(gè)幾分鐘再試就可以了

  2. 如果報(bào) wrecker.yml 無法解析的話通常是 yml 文件中含有 tab 鍵,全部替換成空格就可以了

  3. 如果 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)站

推薦的主題

  • bootie-docs
  • casper
  • hyde-x

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末策菜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子酒贬,更是在濱河造成了極大的恐慌又憨,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锭吨,死亡現(xiàn)場(chǎng)離奇詭異蠢莺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耐齐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門浪秘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人埠况,你說我怎么就攤上這事耸携。” “怎么了辕翰?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵夺衍,是天一觀的道長。 經(jīng)常有香客問我喜命,道長沟沙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任壁榕,我火速辦了婚禮矛紫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘牌里。我一直安慰自己颊咬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布牡辽。 她就那樣靜靜地躺著喳篇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪态辛。 梳的紋絲不亂的頭發(fā)上麸澜,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音奏黑,去河邊找鬼炊邦。 笑死编矾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铣耘。 我是一名探鬼主播洽沟,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蜗细!你這毒婦竟也來了裆操?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤炉媒,失蹤者是張志新(化名)和其女友劉穎踪区,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吊骤,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缎岗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了白粉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片传泊。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸭巴,靈堂內(nèi)的尸體忽然破棺而出眷细,到底是詐尸還是另有隱情,我是刑警寧澤鹃祖,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布溪椎,位于F島的核電站,受9級(jí)特大地震影響恬口,放射性物質(zhì)發(fā)生泄漏校读。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一祖能、第九天 我趴在偏房一處隱蔽的房頂上張望歉秫。 院中可真熱鬧,春花似錦养铸、人聲如沸雁芙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽却特。三九已至扶供,卻和暖如春筛圆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背椿浓。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工太援, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闽晦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓提岔,卻偏偏與公主長得像仙蛉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碱蒙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容