在 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 更新速度變得比較即時。