將預設以日期為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://oomusou.io
root: /
permalink: :title/
permalink_defaults:

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

Conclusion


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