简单提要聚合器

plutopluto的Python项目详细描述


plutopluto-简单提要聚合器

概述

显示来自多个源的帖子:

plutopluto http://xkcd.com/atom.xml http://what-if.xkcd.com/feed.atom

显示来自多页提要的帖子:

plutopluto http://staff.tumblr.com/page/{page}/rss

从单独的文件加载配置(带有URL):

plutopluto -c config.cfg

历史记录

几年前当我停止使用facebook时,我唯一错过的就是 得到一系列有趣的东西。我真的很喜欢滚动 看一些图片,读一些讨论,看一些视频。

所以我开始寻找替代品。很快我意识到我没有 需要一个社交网络。现有博客基础设施 rss或atom提要已经足够满足我想要的任何东西了。

唯一缺少的是在流中显示这些提要的好方法。所以 这就是我想要创建的:一个流式的提要阅读器。

后来我意识到我想使用plutopluto还有第二个原因: 很多博客都很烂。它们要么看起来很难看,要么速度慢得无法使用。 尤其是以图片为中心的博客。所以我就点燃冥王星 有了博客的feed,有了一个漂亮干净的界面可以滚动浏览 内容。

架构

我最初在php中实现了plutopluto。这是对javascript的重写。

不幸的是,跨源策略阻止javascript访问 直接供给。所以有一个最小的python服务器来获取feed和 还将它们转换为json。我可以使用第三方服务,比如 google feed API但我不想泄露任何数据给google和 另外,我已经从另一个项目获得了所需的python代码。

javascript代码依赖于jquery。但是,我写了一个 受jqlite启发的重新实现。为什么?因为它 很有趣。

设计

默认的设计是极简主义和实用的。它只是一个帖子列表 按时间排序。当你滚动到底部时,会加载更多的帖子,因此 可以一直滚动直到没有帖子留下。每个帖子都有标题 节中包含发布时间和源名称。当你点击 在源代码上你转到原始帖子。

这个设计灵感来自soup.io,也类似于tumblr。

配置

您可以配置所有flask related options以及HOSTPORT 以及使用plutopluto --config FILE的单独配置文件中的URLS。有关示例,请参见example.cfg。如果没有提供配置, 尝试使用文件.plutopluto.cfg,首先在当前文件夹中,然后在 回家。

有些选项可以直接传递给plutopluto。见plutopluto --help。 如果定义了,它们将优先于配置文件中的那些。

扩展/破解

这个项目的一切都是为了简单。我是认真的。 我真的希望代码能被尽可能多的人理解和扩展 尽可能的。如果你看到任何你不理解的东西:请创建一个bug 报告。

常见问题解答

为什么叫“冥王星”?
有一种传统的feed聚合器称为: planetplanetmoonmoon
什么是favicon? 这是一个悲伤的冥王星。When I was a child, pluto was still considered a planet.
帖子排序不正确
加载和解析许多feed需要一些时间。所以当第一个帖子是 显示,许多源尚未完成。事实上,第一个帖子是 加载第一个源后立即显示。所以前几篇文章 必须来自同一来源。
流总是从同一个源开始
参见上一个问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java抽象基bean类   Java中的字符串比较“=”有什么问题?   java Android VideoView无法播放视频   java Lucene 5.3 Highlighter getBestFragments()不工作   java将PDF直接从数据库打开到用户的PDF应用程序中   波形Java库用于确定wav文件中的语音注释   java gzip压缩器不支持while循环   java JUnit输出不包括小黄瓜前缀   java日志记录的复杂性和对MessageFormat性能的关注   spring是否有一种方法可以在每次使用Java控制器方法时调用该方法?   帮助器类上的java重写方法   java绘制曲线箭头,将箭头置于正确位置   内存mymap=new int[500000][500000]需要多大的Eclipse Java堆空间;没有OutOfMemoryError?   java Drools从具有不同事实的多个DRL文件中触发多个规则