將預設以日期為 URI 改成文章分類

Hexo 預設是以 日期 為URI,且將所有文章放在 source/_post 目錄下,本文討論如何改成以 分類 為URI。

Version


Hexo 3.1.1

問題


日期 為 URI 的優點是只要看網址,就可以得知該文章的寫作日期,但缺點是若該文章日後經過 重構,網址卻還是過去的日期,會被以為是 過時 的文章;若是去修改日期,又會造成網址的改變,造成原有的超連結錯誤。

此外,Hexo預設將所有文章都放在 source/_post 目錄下,若文章數量少還好,若文章多到一個地步就會想開 資料夾管理,可是若一開資料夾,URI 就會變成 日期 + 資料夾 的怪異情況。

討論


預設在Hexo根目錄的 _config.yml 的設定如下:

1
2
3
4
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:

permalink 設定為 年/月/日/檔名,若建立 新資料夾,也會包含在 檔名 裡面。

解決方法


_config.yml 改成如下設定:

1
2
3
4
url: http://old-oomusou.goodjack.tw
root: /
permalink: :title/
permalink_defaults:

年/月/日 拿掉後,只留下 檔名 即可,這樣 URI 就會與 source/_post 下的資料夾同步。

Conclusion


  • 這樣日後文章若有 重構,可以隨時修改 日期,不會被誤認為過時的文章,且首頁也會當成最新文章顯示,最重要的是網址 不會改變
  • 可任意根據需要在 source/_post 建立資料夾,且 URI 會與資料夾同步,一來檔案再多也可方便管理,二來以分類為URI也比較清楚
2015-12-04