用 Hugo + GitHub Action 打造自動更新的個人靜態網站

用 Hugo + GitHub Action 打造自動更新的個人靜態網站

用 Hugo + GitHub Action 打造自動更新的個人靜態網站

前言:從一篇文章開始的靈感

感謝 kucw 的教學文,讓我認識了 Hugo 和 GitHub Pages。

先前已經透過streamlit 打造屬於自己的網站,有點是動態可以當下執行程式,但也因為會需要額外運算資源,定期需要重開網站,因此希望有個常駐的網站,還能整合自動更新功能。

這篇文章紀錄我如何一步一步用 Cursor、Hugo、GitHub Actions 建立自己的個人網站。 網站連結: https://1daniel3333.github.io/about/

一、技術架構概覽

  • 本專案使用到的技術:
  • Cursor:AI 友善的開發環境,類似 VSCode,但內建 AI 協作功能。
  • Hugo:輕量級靜態網站產生器,適合技術人快速打造部落格或文件站。
  • GitHub Pages:用 GitHub 免費托管靜態網頁。
  • GitHub Actions:CI/CD 自動化工具,可設定類似 crontab 的排程任務。

二、實作流程詳解

1. 使用 Cursor + Hugo 開發網站內容

  • 透過 Cursor 提高開發效率,AI 輔助修改文章或程式碼。
  • 用 prompt 搜尋與下載合適的 themes 並客製化內容。

2. 利用 GitHub Pages 架站

  • 將 Hugo 產生的 public/ 資料夾部署到 GitHub Pages。
  • 選擇用 username.github.io 的方式建立個人網站。

3. 加入動態更新:GitHub Actions + Python

  • 因為 Hugo 是靜態網站,資料需要定時更新(例如訂閱服務)。
  • 我在私有 repo 中撰寫 Python 腳本爬取或更新內容。
  • 使用 GitHub Actions 設定定時任務,自動:執行 Python 腳本以及Commit & Push 結果到 public 網頁的 repo
  • 感謝 zhgchg 的 GitHub Actions 教學文 提供完整範例。

三、什麼是 Cursor、GitHub Pages、GitHub Actions?

🔧 Cursor 是什麼?

  • 類似 Visual Studio Code,但內建 AI 輔助功能。
  • 支援 chat-style 編輯、解釋程式碼、快速重構。

🌍 GitHub Pages 是什麼?

  • GitHub 提供的免費靜態網站托管服務。
  • 適合部落格、個人頁面、文件網站。

⚙️ GitHub Actions 是什麼?

  • GitHub 提供的 CI/CD 工具。
  • 可以設定 push 時自動部署、定時執行腳本、觸發工作流程等。

四、後記與下一步

專案雖然簡單,卻整合了前後端、CI/CD、自動排程的概念。

未來可以再擴充:

  • 增加留言系統(如 Disqus)
  • 監控 GitHub Action 的結果
  • 加入 API 查詢與資料視覺化

Comments

Loading comments…

Leave a Comment