下载了roller来看看它的rss订阅实现,看不懂

  前两天,下载和安装了roller2.0,因为我用的是mysql4.0.12,utf-8储存没有搞定。但是不影响看它的rss部分。但就是没有找到它的rss订阅是怎么来的。我准备结合这个实例来学习rss订阅编写。

  另外,里面运行时有个manifist duplicate warning,在google中搜索到matrix里找到答案。

  这几天,准备过年,没有心思来做这个。先放一边吧。

(转帖)RSS 2.0 的規格

这篇文章引用的几篇参考资料还有收藏价值。故转帖于此:

转自:http://www.aeu-studio.com/Charles/index.cfm?pid=200508121245

RSS 2.0 的規格 - 2005/08/12 12:45:33

RSS 2.0 的規格

參考資料:網頁資料交換技術—RSS的探討與使用

(http://www.ascc.net/nl/93/2004/03.txt)

參考資料:Google考慮支援RSS標準

(http://taiwan.cnet.com/news/software/0,2000064574,20090084,00.htm)

參考資料:RSS 2.0 Specification

(http://blogs.law.harvard.edu/tech/rss)

 上面列出這篇「網頁資料交換技術—RSS的探討與使用」對於想瞭解 RSS 技術的人有不小的幫助,該文作者是黃懷興先生。另一篇「Google考慮支援RSS標準」是 CNET 的新聞,其中對 RSS 的背景也有清楚的敘述,值得一讀。

 RSS 文件的格式是 XML 1.0,主要的結構是由一個 channel 與多個 item 組成。若我們任意打開一個 RSS 文件來看,即可大致猜到每個 XML 元素大概的用途,但要自己撰寫 RSS,還是需有更詳細的說明。

 上面的 RSS 2.0 規格「RSS 2.0 Specification」,是目前維護 RSS 2.0 標準的哈佛大學柏克曼中心的網站,在此可找到完整的 RSS 2.0 規格敘述。

 RSS 的結構應該大致長得像這樣:

<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">

    <channel>

        ...

        ...

        <item>

            ...

            ...

        </item>

        <item>

            ...

            ...

        </item>

        <item>

            ...

            ...

        </item>

    </channel>

</rss>

 以下簡短說明 RSS 2.0 的規格:

必須的 channel 元素

title:此「channel」的名稱,供人識別你提供的資料,通常設成網站的標題即可。

link:你的網站 URL。

description:網站或此 RSS 服務的簡介。

選擇性的 channel 元素

language:語系,如「en-us」、「zh-tw」等,可參考 Netscape 提供的清單或 W3C 的定義。

copyright:版權宣告。

managingEditor:RSS 內容負責人的 E-Mail。

webMaster:技術負責人的 E-Mail。

pubDate:內容發佈日期,比如日報的發佈應該會每天更新一次。日期時間的規格遵循 RFC 822 的標準。例:「Sat, 07 Sep 2002 00:00:01 GMT」。

lastBuildDate:本 RSS 內容的最後更新時間,如:「Sat, 07 Sep 2002 09:42:31 GMT」。

category:指出一或多個本 RSS 的性質分類,供 RSS 目錄系統使用,語法和 item 之中 category 的一樣,詳細說明可按此。

generator:產生此 RSS 的程式名稱。

docs:敘述此 RSS 之格式的文件網址,也可將其指向 http://blogs.law.harvard.edu/tech/rss。

cloud:註冊以得到更新訊息的方式,如:「<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>」,詳細資料請按此。

ttl:本 RSS 內容的有效期限,即 RSS 閱讀器可以將此 RSS 快取住多久的時間,單位為分鐘,詳細資料請按此。

image:提供一個 GIF, JPEG 或 PNG 檔來代表此 RSS,詳細資料請按此。

rating:內容分級制度評分,請看 PICS。

textInput:呈現一個可輸入文字的欄位,詳細資料請按此。

skipHours:告訴訂閱程式哪些小時可以跳過,詳細資料請按此。

skipDays:告訴訂閱程式哪些日可以跳過,詳細資料請按此。

item 元素

title:此 item 的標題。

link:此 item 的網址。

description:此 item 的概述。

author:此 item 作者的 E-Mail,詳細資訊請按此。

category:此 item 的分類,詳細資訊請按此

comments:與此 item 相關評論的網址,詳細資訊請按此

enclosure:此 item 內載的多媒體內容,詳細資訊請按此

guid:此 item 的索引 ( 唯一識別碼 ),通常也是網址,詳細資訊請按此

pubDate:此 item 的發佈日期,詳細資訊請按此

source:此 item 最新內容的 XML 網址,詳細資訊請按此。

利用“rss/atom/xml”实现站点间同步的一个方案

在“google”中以“"rss""站点""同步"”为关键字得到的头条信息就是它。我要认真学习一下它的实现原理和方式,看能不能用于我的目标。网址:http://rss.uooule.com/

下面是它页面上的摘要:

交换blog 内容的最好工具 http://rss.uooule.com 可以相互同步blog

http://rss.uooule.com

Home rss是什么 我要订阅我喜欢的rss 我要注册我自己blog 创建我自己的js代码 演示 rss 联播 ABOUT

把你的网站blog通过rss/atom/xml同步更新到其他网站 或者 把其他的网站同步到你的blog

把你的网站通过rss/atom/xml同步到其他网站! 或者 把其他的网站同步到你的blog

利用下面的工具将帮助你通过rss将你的内容同步发布到其他网站,你只需输入你的rss源的url地址和相关的一些选项;

 

首先,点击预览查看你的内容是否已经输出,如果已经输出点击产生javascript 按钮得到一段javascript ,你还可以用stryle工具美化这些输出

 

URL输入你的rss源的url地址 什么是rss?

提示:你可以点击这里对你输入的url地址进行有效性分析

 

显示频道? (yes/no/title) 显示发布者的信息 (yes=显示标题和简介; title=只显示标题, no=不显示任何东西)

 yes  title  no

显示多少条内容?. 输入要显示的条数 (输入0显示所有的内容)

 

显示/隐藏简介? 显示多少条? (0=不显示; 1=显示完整的; n>1 = 如果输入的n大于1,显示n条前的信息; n=-1 不连接只是显示这些内容)

 

使用 HTML在详细的条目中? ("yes" =使用 HTML 来显示详细的条目, 跳过一些无效的字符; "no" 只输出用css格式化的文本; "paragraphs" = 不用HTML 但是用<br>代替回车 )

 yes  no  preserve paragraphs only

显示日期? (yes/no) 显示发布的日期?.

 yes  no

在新窗口中打开连接? (n="不, 在同一个窗口打开 ", y="是的,在新窗口中打开", "xxxx" = 在 'xxxx的窗口中打开', 'popup' = 使用JavaScript 函数 弹出一个新窗口 )

使用UTF-8编码

 使用UTF-8编码

 

实现学习日记和我的blog的双向绑定

实现创意:根据用户提供的rss地址同步更新用户在其它网站的帖子(http://www.learndiary.com/disDiaryContentAction.do?searchDiaryID=1381&goalID=1381&naviStr=a10a2313)。

既然rss阅读器能够做到,为什么学习日记不能做到呢?

www.43things.com已经实现了它到几个blog的单向绑定,见下面的摘录(摘自:http://www.43things.com/about/view/faq):

...

Can I post to my blog from 43 Things?

You bet, but first you’ll have to configure an external blog (do that here). You’ll be guided through the set-up process and at the end you can try a test post to make sure everything works.

Once that’s done, you can have any entry on 43 Things show up on your blog as well.

We currently support the following blogs:

Blogger

Typepad

Movable Type

Live Journal

Word Press

You can set up as many blogs as you like. We haven’t made a way for you to delete one yet. Sorry.

Can I post to 43 Things from my blog?

Not yet. But we are working on our API now. More details soon. Check out our API and recommend it to your favorite blogging software developer.

...

虽然www.43things.com没有实现从blog到它自身的绑定,但是我在网上好像看到过这种做法,而且rss阅读器能实现的,为什么网站上不能实现?

以学习日记到我在matrix的blog(名为建设学习日记:http://blog.matrix.org.cn/page/littlebat)的双向绑定为目标,不限时间,直到实现。

计划步骤:

1、给学习日记添加rss2.0支持;

2、从学习日记绑定到blog;

3、从blog绑定到学习日记;

这个目标已经在开发社区的issue系统提交两个issue:

1、issue 11:binding learndiary and my roller's blog in both two directions(http://learndiary.tigris.org/issues/show_bug.cgi?id=11)(实现学习日记和我的blog的双向绑定)

2、issue 12:add rss2.0 feed support into learndiary(http://learndiary.tigris.org/issues/show_bug.cgi?id=12)(给学习日记添加rss2.0支持;)