首先要说一下目前的矛盾现状:一方面feed订阅和在线阅读器都还不够普及,多数普通网民就算经常访问blog网站,也还没养成订阅的习惯,主要还是通过门户媒体获取资讯,另一个方面,较早开始接触RSS订阅的人——特别是那些blogger和互联网geek们——不但已经对各种在线或离线的阅读器了如指掌,把阅读feed变成了上网的主要活动和习惯,而且很多人收集的feed已经多到让自己烦恼焦虑的程度。后者努力的整理删减自己的订阅列表,前者却经常抱怨不知道怎么寻找可订阅的信息来源…………这种不平衡于是引发了一种禁断的活动——朋友之间交换OPML订阅列表……
OPML是Google Reader乃至所有阅读器都支持导入导出的一种XML规范的“大纲(outline)”数据文件(题头图片里那个蓝色的方块就是OPML的标志,跟feed的著名橙色标志对应,说实话写文前我还不知道OPML也有标志……囧),通常包含用户订阅的所有feed,之所以说是“禁断”……是因为交换这种文件,直接导入到双方的阅读器里之后,很容易使信息爆炸的程度翻倍,而且对于这些导入的feed,不能像原主人那样清楚来历和订阅的理由,于是也不知道该如何看……因此直接交换的下场通常都很惨……
这个项目就是我的解决方案:让导出的OPML源文件支持直接在浏览器里作为网页来展示,而界面上使用完全展开的并排布局,可以像hao123或谷歌网站导航那样一目了然的查找网址,让访问者自己来挑选值得订阅的feed。(不过,你要有使用标签分类feed的习惯,否则显示效果肯定不好…不过那样的话,就算用常规的树状布局,效果也很差的…)
以下是示例页面,这里的“dexteryy.xml”就是我从自己的google reader里导出的OPML文件,包含完整的订阅列表:
http://www.limboy.com/yyopml/dexteryy.xml
还有谁像我一样没什么隐私担心暴露愿意分享OPML的话,可以留下网址或opml文件,我会收集到上面来……
项目主页:http://code.google.com/p/yyopml/
下载程序源码:http://code.google.com/p/yyopml/downloads/list
使用方法是:用文本编辑器打开OPML文件,在第一行后面加上以下内容:
- <?xml-stylesheet href="style/yyopml.xsl" type="text/xsl"?>
然后跟解压出来的style目录一起传到服务器上,保持在同一个目录里,就可以直接用浏览器看opml文件了。
目前我提供的界面主题有两种,都是如上所说的“网站导航”风格,一个是灰色的面板风格(默认),一个是GOOGLE风格,对应的CSS文件分别是style/ui/yyopml_panel.css和style/ui/yyopml_google.css
支持在页面里切换皮肤,如果要更换默认皮肤,请修改style/ui/yyopml.js里的以下代码:
- theme = theme || "panel";
把“panel”换成你要改成默认设置的css文件的后缀,比如”google”。
也可以在网址里加上参数,直接调用某种皮肤,比如”http://www.limboy.com/yyopml/dexteryy.xml#theme=google“,可以用google风格作为默认皮肤打开页面。
==================面向Coder的分界线====================
源码包括一个用来把XML转换成HTML来显示的XSL文件,和界面效果相关的文件。其中yy_core.js是我开发中的一个轻量级/FP风格的javascript库,很多代码都基于jquery,同名的方法接口也尽量跟jquery保持一致,命名空间跟土豆网的js库一样叫“TUI”,提供DOM选择器(我重写的精简功能)和一些常用工具,比jquery小很多(压缩后12k),这个东西其实年初就想发出来……但是后来懒了,这次考虑到完成度的问题,也懒得在google code里开项目了,源码包里的yy_core.js是一个base64压缩过的版本……
另外,yyopml.js里有一个滚动条插件,是做这个项目的时候心血来潮写的,可以用类似这样的代码:$(”.list”).scrollbar(); 给那些外部容器overflow:hidden,内部容器高度超长的元素加上CSS定义的滚动条,支持鼠标滚轮,因为是基于“迷你jquery”来开发,所以应该很容易改成jquery的插件,厌倦了overflow:scroll滚动条的同学可以参考一下。
超过十行了
(最少字数限制破解补丁 v1.2)
回复
效果挺奇怪的,其实直接点击进入对方feed就可以了啦。如果需要再弄个带有网址的版本…
Yy的右边栏为什么会随着文章一起动?
回复
哈哈, 很棒~ 不过不能保持同步,还得导出-修改-上传
http://catstudio.cn/lab/yyopml/google-reader-subscriptions.xml
回复