1. giorgi_l
  2. django-planet

Overview

HTTPS SSH
django-planet
=============

This is a generic application for Django projects aiming to provide a planet
feed aggregator app.

Django-planet is heavily based on Feedjack's [1] models by Gustavo Picón and my
django app that extends it: feedjack-extension [2]. Changes and addings to
models were inspired by Mark Pilgrim's Feedparser [3].

[1] http://www.feedjack.org/
[2] http://code.google.com/p/feedjack-extension/
[3] http://www.feedparser.org/


Screenshots:
------------

The following screenshots are just for demonstration purposes:

   * http://cloud.github.com/downloads/matagus/django-planet/post_list-my_planet.png
   * http://cloud.github.com/downloads/matagus/django-planet/tag_view-my_planet.png
   * http://cloud.github.com/downloads/matagus/django-planet/author_view-my_planet.png


Summary of changes:
-------------------

    * Link model was dropped.
    * Site models replaced by django.contrib.sites.Site model :)
    * Tag model replaced by tagging.Tag model.
    * Added Blog model (a Blog may have several related Feed objects).
    * Subscriber model renamed to Author, and was modifyed since a Blog may
      have several authors. Authors may be of two types: author or contributor.
    * Feed model was changed. New attributes added to store info provided by
      Feedparser.
    * Added FeedLink, PostLink, Enclosure and Generator models to store info
      provided by Feedparser.

    * Custom managers for each model.
    * New urls and detail and list views for each new model.
    * CSS theme based on the minimal and beautiful Mounty Lounge Industries
    blog's design (http://blog.montylounge.com/)

    * Full template tags set: tags cloud for a blog, a feed, an author and a
    global one; related tags list, authors list related to a tag and feeds list
    related to a tag.

    * Added indexed to models according to expected use.
    * Content cleaned (css styles and some duplicated/useless spaces).
    
TODO:
-----
    First:
        
    * Feeds (RSS and Atom): for all posts, for posts filtered by tag, author,
    blog, feed or any of its combinations.
    * setup.py, pack it into and egg and upload it to Python Python Package Index.
    * Get the first image of a post (from enclosure link or from content),
    download it, generate a thumbnail and asociate it to that post. Then show it
    in list-views!
    * A little sample project.

    Second:
        
    * Make a sample project showing how to integrate it into Pinax
      http://www.pinaxproject.com/
    * Date-based views: by month and year
    * SEO improvement: custom META tags for each view, use SlugField fields for
    any model that has a detail view (blog, feed, post, author) and use it in
    its url. Like /planet/blogs/Experimetal_Etc
    * Use django-atomformat: http://github.com/pinax/atom-format/tree/master
    * Build a template tag to show a block of latest photos (ie post enclosures
    of type "image/*")
    * Improve add_feed and update_feed commands with multi processing,
    make them more clear and atomic, etc.
    * Optimized content clean & compression of each feed entry (remove
    duplicated/useless tags, bad spaces, and the like).

    Maybe:

    * Allow users import an OPML file with their favourite feeds.
    * Use django-foaf to generate foaf xml? http://code.google.com/p/django-foaf/
    * Some other features inspired by semantic attributes of RSS and Atom feeds :P

INSTALLATION
------------

    For installation instructions, see the file INSTALL in this directory.