cover

Hexo 進階設定:Theme、Plugin 和分類標籤

Hexo init 完只是起跑線。真正花時間的是:選 theme、裝 plugin、把分類標籤搞乾淨。

先講結論

hexo進階設定

Theme 推薦 Fluid(還在維護的好 theme 越來越少了)。Plugin 必裝的就四個:搜尋、sitemap、壓縮、Git 部署。分類和標籤用 category_map / tag_map 做映射,避免 URL 出現中文。

Theme 安裝

Hexo theme 生態看起來很豐富,但真正還在積極維護的沒幾個。我用的是 Fluid:

git clone git@github.com:fluid-dev/hexo-theme-fluid.git themes/fluid

_config.yml 改一行:

theme: fluid

Theme 自己的設定在 themes/fluid/_config.yml,社交連結、頁面佈局、外觀色調都在裡面改。每個 theme 的設定格式都不一樣,這也是 Hexo theme 生態的痛點之一——換 theme 基本上等於重新設定一次。

選 theme 的建議:先看 GitHub 最後一次 commit 是什麼時候。超過一年沒更新的,不要碰。

必裝 Plugin

搜尋:hexo-generator-searchdb

文章一多,沒有搜尋功能讀者會瘋掉:

pnpm install hexo-generator-searchdb --save
search:
    path: search.xml
    field: post
    format: html
    limit: 10000

SEO:hexo-generator-sitemap

讓搜尋引擎更容易抓到你的內容:

pnpm install hexo-generator-sitemap --save
sitemap:
    path: sitemap.xml

壓縮:hexo-neat

壓縮 HTML、CSS、JS,讓網站跑快一點:

pnpm install hexo-neat --save
neat_enable: true
neat_html:
    enable: true
    remove_comments: true
neat_css:
    enable: true
neat_js:
    enable: true

Git 部署:hexo-deployer-git

上一篇裝過了,但如果你是直接看這篇:

pnpm install hexo-deployer-git --save

另外還有渲染相關的 plugin(hexo-renderer-markedhexo-renderer-ejs 等),通常 hexo init 的時候就已經裝好了,不需要手動處理。

分類與標籤映射

如果你的分類或標籤有中文,URL 會變成一串 %E6%8A%80%E8%A1%93 這種東西,醜又不利 SEO。用 category_maptag_map 做映射:

category_map:
    設計模式: design-patterns
    技術: tech
 
tag_map:
    前端開發: frontend
    後端: backend

這樣 URL 就會是乾淨的英文,而頁面上顯示的還是中文。兩全其美。

部署到 GitHub Pages

一行指令搞定:

hexo g -d

背後會自動跑 generate + deploy,把靜態檔案推到你設定的 GitHub repo。

如果想進一步自動化,可以用 GitHub Actions——每次 push 原始碼就自動 build 和 deploy,連手動跑指令都省了。


裝了 6 個 plugin 以後,build 時間從 3 秒變成 15 秒。這就是「進階」的代價吧