cover

對,我又搬家了
從最早期把 WordPress 架在 GCP
到搬家至 Cloudways
再到現在改成用 Hexo 直接放在 Github Pages
稍微紀錄一下心得這樣

簡易步驟

  1. 安裝 Git, Node.js

  2. 安裝 Hexo

npm install -g hexo-cli
  1. 初始化
hexo init [folder]
  1. 安裝/啟用主題,我用的是 Cloudia
    把這個主題 clone 到 hexo 的 theme 資料夾下
    接著把 _config.yml 使用的 theme 改成
theme: hexo-theme-claudia
  1. code block 調整
    Claudia 有寫好 code block 因此可以把 Hexo 內建的關掉
    一樣在 _config.yml
syntax_highlighter: false
  1. 在文章插入圖片
    在 _config.yml 打開
post_asset_folder: true

並安裝

npm install hexo-renderer-marked --save

這樣在生成文章 hexo new post [title] 的時候就會自動生成相同 title 的 folder
把想要的圖片放進去 再用 markdown 語法 ![圖片](圖片名.jpg) 就可以了

  1. 把 Wordpress 的文章搬過來
    安裝 hexo-migrator-wordpress 外掛
npm install hexo-migrator-wordpress --save

由 WordPress 儀表板的 “工具” → “匯出” → “WordPress” 匯出網站資料

hexo migrate wordpress <source>

source 為 WordPress 匯出檔案的路徑

目前文章內的圖片來源還是 WP 還沒找到一次性修改的方法

  1. 首頁預覽的文章摘要
    參考 這篇文章
    我是用 <!--more--> 來手動截斷

佈署

可以參考 這篇文章
最後跑 hexo clean && hexo deploy 就可以了

自訂 Domain 網域

一樣參考上面 這篇文章
不過我是另外再設了 subdomain
在 Namecheap 是這樣新增,value 一樣是指向 github pages 的那 4 個 IP
namecheap
雖然 github pages 設定看起來不建議
github-pages
但這樣設定是ok 的
home

11/20 更新
照這樣調整就 OK 了
namecheap-2
github-pages-2

其他

  1. 語系設置
    可以新增一個 themes/hexo-theme-Claudia/languages/zh-tw.yml
    在裡面寫自己的繁體中文
    接著在 _config.yml 調整
language: zh-tw

就可以了!

  1. CNAME 設置
    參考這篇文章
    原來 CNAME 直接放在根目錄的話會在 hexo generate && hexo deploy 時被覆蓋掉
    要改放到 /source/ 底下

  2. 把 source 和 public 分開
    如果不想把 source (原始資料) 和 public (hexo 編譯後的結果)都上傳的話
    可以分兩個 repo 上傳
    針對 source 可以開一個新的 repo 後 git init, git add, git push….etc
    而 public 就跑上面的 hexo generate && hexo deploy 即可

  3. hexo generate & hexo deploy vs hexo generate && hexo deploy
    只有一個 & 的話 兩個指令會同步進行 可能不會 deploy 到最新的
    所以要有兩個 & 也就是 hexo generate && hexo deploy 比較合適

參考資料