如何使 Hexo 以文章分類為 URI ?
將預設以日期為 URI 改成文章分類
Contents
Hexo 預設是以 日期 為URI,且將所有文章放在 source/_post 目錄下,本文討論如何改成以 分類 為URI。
Version
Hexo 3.1.1
問題
以 日期 為 URI 的優點是只要看網址,就可以得知該文章的寫作日期,但缺點是若該文章日後經過 重構,網址卻還是過去的日期,會被以為是 過時 的文章;若是去修改日期,又會造成網址的改變,造成原有的超連結錯誤。
此外,Hexo預設將所有文章都放在 source/_post 目錄下,若文章數量少還好,若文章多到一個地步就會想開 資料夾管理,可是若一開資料夾,URI 就會變成 日期 + 資料夾 的怪異情況。
討論
預設在Hexo根目錄的 _config.yml 的設定如下:1
2
3
4url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
在 permalink 設定為 年/月/日/檔名,若建立 新資料夾,也會包含在 檔名 裡面。
解決方法
將 _config.yml 改成如下設定:1
2
3
4url: http://old-oomusou.goodjack.tw
root: /
permalink: :title/
permalink_defaults:
將 年/月/日 拿掉後,只留下 檔名 即可,這樣 URI 就會與 source/_post 下的資料夾同步。
Conclusion
- 這樣日後文章若有
重構,可以隨時修改日期,不會被誤認為過時的文章,且首頁也會當成最新文章顯示,最重要的是網址不會改變 - 可任意根據需要在
source/_post建立資料夾,且 URI 會與資料夾同步,一來檔案再多也可方便管理,二來以分類為URI也比較清楚