我的部落格有一個 /now(最近在幹嘛)的頁面,目前的規劃是拿來寫過去幾個月在做的事情,可以讓有點時間沒見的朋友快速 catch up,有點像是把社群貼文一次更新到這個頁面的感覺。
如果有訂閱我的 RSS 的朋友可能有發現,這個頁面最近這兩個月更新的時候,RSS 都會有新的 item。就像這樣:

緣由
之所以這麼做,是因為我覺得除了第一次來的人們以外,應該很少人會去主動進去看,如果有更新的時候,也就沒什麼人會發現我更新了 ˊ_>ˋ
而靈感的來源,是來自 Sky 的 /now,他用的是一系列的 now + 更新時間 的文章來解決這個問題。但我比較偏好保持 /now 的 URL 一直不變,所以我才選擇在 RSS 上動手。
怎麼做到的?
我對 /now 的 RSS item 做了 2 件事情來達成我的目的:
- 讓 GUID 隨著頁面的「最後修改時間」更新而改變
=> 這樣 RSS reader 就會把更新過的 item 當成一個新的 item - 在標題附註一下更新的時間
=> 不要訂閱者以為只是同樣的文章一直跳出來

如何客製化 RSS Feed
我用的 Hugo theme 是 Stack。要客製 RSS 的話,和要客製其他頁面的方式是一樣的,就是在 layouts 資料夾底下新增對應的檔案:layouts/_default/rss.xml。
內容則是把 原本 repo 內的 rss.xml 複製一份過來,以這個為基礎去改。
複製完之後,可以把先把 Hugo server 起起來,到 http://localhost:1313/index.xml 看看一切正不正常。也可以隨便改個地方看看是不是真的有吃到這裡的設定。
開改!
GUID
首先是 GUID,我是這樣做的:
|
|
GUID 原本用的是 permalink。我在最後面再加上更新時間,就可以在更新的同時依舊保持唯一性。
但因為不是所有頁面或文章都需要做這件事情,所以我用 hardcode 的方式把 slug 是 now 的頁面撈出來。不然所有 item 的 GUID 全部都會一次被加上更新時間,導致在 RSS reader 把全部的文章當成新文章 XD
標題
標題也是用一樣的方式去標註:
|
|
這麼做的好處是:改的這些東西只會出現在 RSS Feed 中,不會影響到原本的頁面,讀者就不會在頁面看到一些為了實現功能而加入的不相關的東西 XD
結語
老實說,我其實不太確定我這樣的做法是不是對的,也不知道有沒有什麼 bug。但我也大概一個月更新一次而已,應該不太會打擾到大家,如果真的有什麼問題的話再跟我說 XD
也希望這個做法可以給你一些靈感,或者讓你決定開始寫 /now 頁面,如果能有更好的解決方案的話那就再好不過啦~