如何挑選 Theme, 主題的設定檔案路徑, 如何安裝 Google Tag Manager, 使用 Git Action 自動化部署 Hexo
如何挑選 Theme
官方文件中提供的模板有很多 連結
但建議還是都先找一下該 Theme 的 Github 連結來確認一下使用者的人數和維護的日期,
畢竟 Hexo 本身也有在更新,如果用到沒有跟著更新的主題可能未來就會有相容性的問題。
這邊也會想一下是否要寫個爬蟲來實現 Github 的 Star 數和最後更新日期的清單
有找到 Github 可以用API 來取得 Repository 的相關資料。麻煩的地方在 Last Commit 要打另一隻API
Github API - Get Repository
Github API - List Commits
如何安裝 Google Tag Manager
目前這個網站使用的 Theme 是 Next
安裝 GTM(Google Tag Manager) 和 GA(Google Analytic) 的方式類似,
檔案在
.\themes\next\layout_third-party\analytics\google-analytics.swig
我的作法是遵照 Theme 設定 GA 的方式,透過 config 來判斷是否要載入:
1 | {%- if theme.gtm.gtm_id %} |
主題的設定檔案路徑
.\themes\next_config.yml
如果在主題的設定檔中有填入
1 | gtm: |
便會載入這段 GTM 的 script 並替換成相對應的 GTM ID.
使用 Git Action 自動化部署 Hexo
這邊可能不是 Best Practice.
背景原因是租用的機器就是需要 ssh 去連線,如果在 Local 中修改完去推 code.
就要 ssh 連線進去並且再執行一次 git pull.
為了省去這一點步驟,想到 Github 有 Action 可以使用 :
- 在專案中 .github 的資料夾建立一個 workflows 的資料夾如圖

- 這個 YAML 檔中目前我使用的內容如下
1 | name: GitHub Actions Demo |
稍微解釋一下自己理解的內容
on
這一段是指說 main 這個 branch 在被 push 或是提交一個 pull_request 的時候會觸發.
因為我的情境就是需要在我的 Local 端 push 時觸發這個 action
jobs
這邊是 action 會開始執行的動作
1 | - use xxx |
是指說去應用別人已經寫好的 action,像我這邊用到的 ssh 登入機制就是使用一個名為 appleboy 的使用者建立的 ssh-action@master
Github 連結 : appleboy/ssh-action
並填入我遠端機器的 host, username, sshkey 等等
scripts 就是連線到機器後要下的指令,蠻直覺的
1 | cd 到相對應的資料夾; |
不用 hexo server 的原因是我使用 nginx 當作 server 了
另外比較重要的是這些 $ 該怎麼設定
需要到 Github Repository -> Setting -> Secrets -> Action 來新增,必須小心,這邊新增後就無法檢視原本的內容,更新會是空白的欄位讓你直接更新上去。

設置好後應該就大功告成了,可以在 Local 端 Push 一次
Github -> Repository -> Action 這邊就會顯示 run 的狀態(成功或失敗,和失敗在哪)
