Hugo 是靜態網頁的產生器,類似 Hexo 和 Jekyll,Hugo 由 go 語言編寫,效率極高,我原本是用 Hexo 在產生文章,後來發現 Hugo 這個好東西,也觀望了一陣子其實是懶,就決定換過來了,目前也用得非常順手。
安裝 Hugo
這是 Hugo 的官網,進去後可以看到一些簡單的介紹和安裝方法。
我蠻推薦在 vscode 的 code in container
的方式用 Hugo,因為我自己也是這樣用,這樣就不用擔心會弄髒環境,但就讓有興趣的人自己研究吧,這裡我介紹一般電腦的安裝方式。
Windows
Windows 我建議是用 Chocolatey 來安裝是最方便的:
choco install hugo
但是如果不想要用 Chocolatey 安裝,可以去官方的 Github Release 下載最新的 Windows 版本,下載完後記得加入 PATH。
Mac
macOS 安裝最簡單,用 Homebrew 就可以快速的安裝。
brew install hugo
Linux
Linux 我一律建議從官方的 Github Release 下載最新的版本,並自己加到 PATH。
雖然 apt 等版本管理器好像有提供,但官方的文件上都說版本幾乎都不是最新版,所以也不建議。用下載的方式還是最方便的,或是用 Docker 也是好辦法。
開始使用 Hugo
先創建一個新的 Hugo 專案,下面的 MyBlog
可以換成自己想要的專案名稱:
hugo new site MyBlog
新增主題
創建好專案後,就可以來新增主題,目前在 Hugo 上提供非常多的主題,我們可以到官方的這個網站找找看,但目前些不要增加難度,用最官房提供的簡單的 ananke 主題就好,反正主題是隨時都可以換的。
cd MyBlog
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
echo theme = \"ananke\" >> config.toml
可以看到,官方是建議使用 git submodule
的方式新增主題,這樣之後在更新主題的時候也比較方便。
最後一行的 echo
指令會在專案底下產生一個 config.toml
的檔案,基本上之後所有有關 Hugo 網站的設定,都可以在這裡變更。這一行指令應該會幫你在檔案中產生如下的內容:
theme = "ananke"
新增文章
在 Hugo 中新增文章的指令就是如下,可以自己修改檔名。
hugo new posts/my-first-post.md
產生完成後可以看到 Hugo 幫你產生了一些 Front Matter。
---
title: "My First Post"
date: 2019-03-26T08:47:11+01:00
draft: true
---
上面的 draft
的指令是草稿的意思,如果沒有在上線前改成 false
,是不會在正式網站中渲染的。
現在可以自己產生的 Markdown 檔案中加一些內容,等等就可以看看效果怎麼樣。
執行 Hugo Server
要啟動 Hugo Server 也非常簡單:
hugo server -D
上面的 -D
參數的意思是把 draft
的草稿文件也渲染,如果想要看看上線的網頁會長怎樣,可以不要加上這個參數。
產生靜態網頁
這個最簡單了,連猴子都會,-D
的參數一樣是渲染草稿文件,可視需求加上。
hugo
到這裡就介紹完成所有 Hugo 基本的使用方法了,之後我會介紹如何使用 Github Action,讓我們每次只需要 Push 專案,Github 就會幫我們重新建置並部署網站。