在 Lobsters Daily 上看到在介紹 RSS 2.0 的文章:「Implementing RSS for my blog (yes, this one!)」。
大多數我們都會選擇用 library 來輸出 RSS feed 或是 Atom feed,但這並不代表自己己幹 template 會很難,只要處理好 XML 的輸出就可以了。
作者分成兩塊介紹,第一塊是這個 RSS feed 是什麼,第二塊是這個 RSS feed 裡面有什麼。
第一塊的部份是描述 channel 本身的資訊,另外可以看到 {{{items}}}
這段,這是等下要放第二段的部份:
<rss version="2.0">
<channel">
<title">title}}</title">
<link">{{link}}</link">
<description">{{description}}</description">
<language">en-US</language">
<pubDate">pubDate}}</pubDate">
{{{items}}}
</channel">
</rss">
接下來就是解釋 items
的部份,裡面可以有很多 item
資料:
<item>
<title>{{metadata.title}}</title>
<link>{{getFullUrl slug}}</link>
<description>{{metadata.summary}}</description>
<author>mail@nsood.in</author>
<pubDate>{{rssDatetime metadata.time}}</pubDate>
</item>
你可以靜態寫到檔案裡面,也可以動態產生這個內容,這樣基本上已經會動了。當然,要記得該有的 XML escaping 要放進去。
另外我之前有提到「實做 RSS/Atom feed 的最佳實踐」,也可以參考看看,這算是多做的部份,可以讓 feed crawler 更新速度變得比較即時。