用 Hugo 寫文章並透過 GitHub Actions 部署到 GitHub Pages

前言 這個部落格跑了一段時間,但我一直沒有好好整理它是怎麼運作的。趁現在記錄一下:本地怎麼新增文章、推上 GitHub 後又發生了什麼事,讓網站自動更新。 專案結構 整個 GitHub repository(arieshsieh0402.github.io)的結構如下: arieshsieh0402.github.io/ ← git repo 根目錄 ├── .github/ │ └── workflows/ │ └── hugo.yaml ← GitHub Actions 部署設定 ├── AriesHsieh/ ← Hugo 專案目錄 │ ├── archetypes/ │ │ └── posts.md ← 新文章的預設模板 │ ├── content/ │ │ └── posts/ ← 所有文章放這裡 │ ├── themes/ │ │ └── PaperMod/ ← 使用的 Hugo 主題 │ ├── public/ ← hugo build 產生的靜態檔案(不進 git) │ └── hugo.yaml ← Hugo 網站設定 Hugo 專案本身放在 repo 根目錄下的 AriesHsieh/ 子目錄,而非 repo 根目錄。這個結構在 GitHub Actions 設定中需要特別注意 working directory。 ...

March 8, 2026 · 2 分鐘

Hugo + PaperMod 靜態網站串接 Utterances 實作留言區

雖然説這個靜態網頁主要是拿來做個人筆記記錄用,但想到如果有寫錯的地方,誤人子弟又沒有人告知好像也是個問題, 研究了一下,原來有將留言直接串接到指定 GitHub repo 的 Issues 充作留言區 (但必需要登入 GitHub 才能留言。)的方式。 實驗了一下,串接成功,記錄一下過程。 Step 1: 準備 GitHub repo 確認你有一個公開的 GitHub repo,留言將儲存在這個 repo 的 Issues。 因為本站是部署在 GitHub Pages,理當就建立在這個 page 所屬 repo 上。 Step 2: 安裝 Utterances GitHub App 前往 Utterances 的 GitHub App 頁面,將 App 安裝到你的留言 repo。 這裡沒有必要全部授權,只授權單一 repo 即可。 Step 3: 產生 Utterances script 繼續下一步,前往設定頁,依序填寫以下內容: repo 名稱(格式:username/repo) Issue 對應規則(建議選 pathname 或 title) 可自訂 label(如 blog-comment)方便分類 選擇主題色系 將產生 <script ...></script> 複製下來。 Step 4: 整合到 Hugo(PaperMod) 在 Hugo 專案目錄下建立或修改 layouts/partials/comments.html,貼上剛剛產生的的 script。 接著在你的文章裡面啟用 comment: true ...

July 2, 2025 · 1 分鐘