Github Page

Hugo 文章寫好後,我們可以將這些文章建立並產生正式版本的純 html 檔案,並將這些檔案上傳至 Github Pages

建立 Github Page 的 Repository

建立 Repo 時選擇建立預設的 REAEME.md 檔案,這樣可以直接將這個 Repo 使用 Submodule 的方式直接加入 hugo 專案

建立 Repo

變更 Repo Branch 至 gh-pages

Repository / Setting 選擇 Branchs 頁籤,將原有的預設分支 main 變更為 gh-pages

變更 Repo Branch

變更 Repo Branch

建立客製化網址

Github Pages 允許你使用自己的網域連線至頁面,可以在 Repository / Setting 選擇 Pages 頁籤

Custom domain 設定自己的網址即可

變更 Repo 自訂網址

變更 Repo 自訂網址

記得設定完成後要去將 DNS 使用 CNAME 的方式指定至自己的 Github Page 帳號網址,e.g. kejyun.github.io

變更 Repo 自訂網址

加入 Github Page Repo 至 Hugo 專案

可以使用 Git Submodule 的方式將 Github Pages 的 Repo 加入至 Hugo 專案中

因為 Hugo 發布文章建立靜態 html 時會將檔案皆放到 public 目錄,所以可以將 Github Pages Repo 的子模組設定至 public 目錄

git submodule add <github-page@網址> .public

git submodule add git@github.com:kejyun/my-hugo-page.git ./public

將子模組設定完成後,之後只要使用 hugo 指令建立發布的靜態 html 時,將 public 目錄下的子模組 push 至 Github Page Repo 即可快速完成部署,且也有檔案版本控制

Github Page Repository 限制

Github Page 如果是 Free 版本僅能將 Repo 設定為 public,若想要有 private 的 Github Page 則需要付費才可

帳號版本 Repository 限制
Github Free public
GitHub Free for organizations public
GitHub Pro public 或 private
GitHub Team public 或 private
GitHub Enterprise Cloud public 或 private

參考資料