Windows Live Writer相关文章插件
By 刘未鹏(pongba)
C++的罗浮宫(http://blog.csdn.net/pongba)
1. 为什么写这个插件
原因如下:
- 很多blog没有附带相关文章系统。
- 即便附带了相关文章系统,也是网页模式下的;并不输出到rss feed。
- 以前写过一个javascript的Blog相关文章插件(见这里),然而不幸的是
- 由于del.icio.us开放的JSON接口的限制,文章数目被限制在100篇。超过一百篇要么很麻烦要么不可能。
- 有许多Blog并不支持在后台随便插入javascript代码。
- 是网页模式下的,并不输出到rss feed。即如果订阅者在rss阅读器里面看你的Blog文章,那还是看不到“相关文章”栏。
2. 这个插件是干嘛的
猛击这里见javascript插件版本。
这个Live Writer插件实现的是同它大致同样的功能,但因为是把“相关文章”列表直接输出到文章里面的,因此能输出到全文feed;并且没有文章数目的限制;不依赖于任何特定的Blog系统;不含添加剂也没有副作用:P
3. 这个插件怎么安装,使用麻烦么?
3.1 系统需求
- Windows Live Writer,安装方法如下:
- .NET Framework 3.5(猛击这里下载)
- 注:由于是用VS2008写的,本以为写完可以编译为.NET 2.0兼容模块的,但后来发现不能。用到了几个.NET 3.5才有的模块(如System.Linq),所以别指望能在.NET 2.0上运行;很遗憾:)
3.2 安装和使用
- 安装只需把RelatedPostsPlugin.dll拷贝到你的Live Writer安装目录下的Plugins子目录中即可(一般为C:/Program Files/Windows Live Writer/Plugins或者C:/Program Files/Windows Live/Writer/Plugins)。然后打开Live Writer,就会发现在右侧插件栏多了一个“插入 Related Posts”。
- 使用也很简单:
- 先将你blog上的文章链接收藏到一个del.icio.us帐号上——别忘了加tag。
- 点击Live Writer右侧边栏“插入 Related Posts”,弹出如图的窗口:
- 输入你的del.icio.us用户名和密码,并指定输出相关文章的数目(由于需要访问del.icio.us获取数据,所以通常需要耗十秒左右时间,但如果你是离线撰写blog的,那么不妨把“use local cached posts xml file”选项勾上,这样插件就不会试图连接网络获取del.icio.us最近的更新;同样,如果你知道最近没有对del.icio.us更新,也可以勾上这个选项免得插件去检查是否有更新,从而浪费时间。但这么做的前提是,至少第一次使用是必须连在网络上的,因为插件需要下载del.icio.us上的数据;以后如果需要让插件知道你新添了blog文章到del.icio.us上的话,也需要在线让插件检查是否有更新并更新本地缓存xml文件。)
4. 下载
安装文件在这里:
源文件在这里:
5. TO-DO List
目前的功能对我来说已经够用了。但如果你愿意也可以修改源代码添加功能。我可以想到的修改包括:
- 增量式更新:目前每当你新添了链接到del.icio.us帐号的话,插件都会重新下载del.icio.us上的所有数据,这一方面是因为del.icio.us的开放API只支持完全更新,不支持增量式更新(猛击这里见del.icio.us的开放API说明);另一方面也是我懒,因为平均100篇blog的数据量也就30K,如果收藏的时候不加一堆描述文字的话估计只有一半数据量。因此如果是500篇posts,也就100K不到的样子,对于宽带网来说很快就获取完了(而且,主要的访问速度瓶颈似乎在于用户权限验证上)。不过如果你愿意的话,也可以自己实现一个增量式更新的选项。
- 最新发表文章:想要添加一个Most Recent Posts也很简单,解析一下你的blog的rss输出,提取出最新的文章标题和链接即可。
- 推荐文章:实际上这个功能就不用添加了,你只需在del.icio.us上把那些推荐文章加上一个特殊的tag(名字随你,比如我的是topPost),然后在用该插件插入Related Posts时候加上topPost这个tag即可。
- 最热文章:如果你的blog系统开放了评论数API,那么这个也容易办,参看这里的实现。
还有其他的就发挥想象力吧..