Metadata-Version: 1.1
Name: plutopluto
Version: 1.0.2
Summary: simple feed aggregator
Home-page: https://github.com/xi/plutopluto
Author: Tobias Bengfort
Author-email: tobias.bengfort@posteo.de
License: GPLv2+
Description: plutopluto - simple feed aggregator
        
        Overview
        --------
        
        Display posts from multiple feeds::
        
            plutopluto http://xkcd.com/atom.xml http://what-if.xkcd.com/feed.atom
        
        Display posts from a feed with multiple pages::
        
            plutopluto http://staff.tumblr.com/page/{page}/rss
        
        Load config (with urls) from separate file::
        
            plutopluto -c config.cfg
        
        History
        -------
        
        When I stopped using facebook some years ago the only thing I missed was
        getting a stream of interesting things. I really like just scrolling along and
        look at some pictures, read some discussions and watch some videos.
        
        So I started to look for alternatives. Pretty fast I realized that I did not
        need a social network to a stream. The existing infrastructure of blogs with
        RSS or atom feeds was more than enough for anything I wanted.
        
        The only thing missing was a nice way to display these feeds in a stream. So
        this is what I wanted to create: A stream-like feed reader.
        
        Later I realized there is a second reason why I would want to use plutopluto:
        Many blogs suck. Either they look plain ugly or they are unusable slow -- which
        happens especially with image-centered blogs.  So I just fire up plutopluto
        with the blog's feed and have a nice and clean interface for scrolling through
        the content.
        
        Architecture
        ------------
        
        I originally implemented plutopluto in PHP. This is a rewrite in JavaScript.
        
        Unfortunately, the cross origin policy prevents JavaScript from accessing
        feeds directly. So there is a minimal python server which gets the feeds and
        also converts them to JSON. I could have used a 3rd party service like the
        `google feed API`_ for this, but I did not want to leak any data to google and
        also I already had the required python code from another project.
        
        The JavaScript code depends on jQuery. However, I wrote a minimal
        reimplementation inspired by `jqlite`_ that is used instead. Why? Because it
        was fun.
        
        Design
        ------
        
        The default design is minimalistic and pratical. It is simply a list of post
        sorted by time. When you scroll to the bottom, more posts are loaded, so you
        can just keep scrolling until no posts are left.  Each post has a header
        section with the publication time and the name of the source.  When you click
        on the source you go to the original post.
        
        This design was inspired by `soup.io`_ and is also similar to tumblr.
        
        Configuration
        -------------
        
        You can configure all `flask related options`_ as well as ``HOST``, ``PORT``
        and ``URLS`` in a separate configuration file using ``plutopluto --config
        FILE``.  See ``example.cfg`` for an example.
        
        Some options can be passed to plutopluto directly. See ``plutopluto --help``.
        If defined, they take precedence over thos from the config file.
        
        Extend/Hack
        -----------
        
        Everything about this project is meant to be simple. I am serious about this.
        I really want the code to be as easy to understand and extend by as many people
        as possible. If you see anything you don't understand: Please create a bug
        report.
        
        FAQ
        ---
        
        Why the name "plutopluto"?
            There is some kind of a tradition of feed aggregators called this way:
            `planetplanet <http://www.planetplanet.org/>`_,
            `moonmoon <http://moonmoon.org/>`_
        
        What is the favicon?
            It's a sad pluto. `When I was a child, pluto was still considered a
            planet. <http://plutoisstillaplanetto.me/>`_
        
        The posts are not sorted correctly
            Loading and parsing many feeds takes some time. So when the first posts are
            displayed, many feeds have not yet finished. In fact, the first posts are
            displayed as soon as the first feed is loaded. So the first few posts will
            necessarily originate from the same source.
        
        The stream always starts with the same source
            See previous question.
        
        
        .. _`google feed API`: https://developers.google.com/feed/
        .. _`jqlite`: https://github.com/montyjanderson/jqlite
        .. _`soup.io`: http://www.soup.io/
        .. _`flask related options`: http://flask.pocoo.org/docs/0.10/config/#builtin-configuration-values
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: JavaScript
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary
