Ruby 是一種很適合拿來處理網路資料的一種語言,
使用 Ruby 網頁框架 ROR or sinatra 都可以很容易的建立動態網頁,
就連產生 RSS feeds 也有專屬的 class
使用方式
在檔案前面加入
使用 RSS::Maker 產生 content,如下所示 ( 以下為 code 的一部分 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| require 'rss/maker' strRssTitle = "RSS title" aryRssLink = Array.new aryTitle = Array.new aryLink = Array.new aryFullText = Array.new aryTime = Array.new aryMedia = Array.new content = RSS::Maker.make(version) do |m| m.channel.title = strRssTitle m.channel.link ="http://myRssWebSite.tw/MyRSS" m.channel.description ="By Eric"
cnt = aryTxt.length cnt.times{ |idx| i = m.items.new_item i.title = aryTitle[idx] i.link = aryLink[idx] strMedia = "" if aryMedia[idx] != "" strMedia = "<img src=" + aryMedia[idx] + ">" end i.description = strMedia + aryTxt[idx] i.date = aryTime[idx] } end "#{content}" ```
不過這邊要注意的是圖片的地方,由於 Maker.make 好像沒有提供圖片的屬性, 所以要放圖片,則必須自己組合好 <img src> 後,塞到 description 裡面
顯示 RSS 的 Title
|
m.channel.title = strRssTitle
1 2
| 顯示 RSS 的 link,通常是本身 rss feeds 的 網址
|
m.channel.link ="http://myRssWebSite.tw/MyRSS"
m.channel.description ="By Eric"
1 2 3
| 使用 m.items.new_item 來新增 RSS item, 不過你的 RSS 裡面應該不止一個 item,所以最好是用一個迴圈來做
|
i = m.items.new_item
1 2
| 這邊 RSS item 有好幾種屬性,包括 title, link 等
|
i.title = aryTitle[idx]
i.link = aryLink[idx]
i.description = strMedia + aryTxt[idx]
i.date = aryTime[idx]
"#{content}"
驗證
------------
ok,產生完了,就要來做驗證了,
W3 提供了驗證 RSS feeds 的服務,可以到 [w3c](http://validator.w3.org/feed/) 的網站,
把你的 link 貼上去就可以幫你驗證了。
後記:
----------------
這個 code 其實是要做成一個 function,並接受一個 rss items 的 collection 當作參數,
不過可能要等我有空的時候才會修嚕
參考資料:
---------------------
[使用Ruby on Rails 解析及创建RSS](http://cpccai.iteye.com/blog/137941)
[簡單產生 RSS Feeds 及簡易部落格聯播功能](http://ithelp.ithome.com.tw/question/10011541?tag=rt.rq)