# Planet configuration file

# Every planet needs a [Planet] section
[Planet]
# name: Your planet's name
# link: Link to the main page
# owner_name: Your name
# owner_email: Your e-mail address
name = Planet Zog
link = http://www.planet.zog/
owner_name = Zig The Alien
owner_email = zig@planet.zog

# cache_directory: Where cached feeds are stored
# new_feed_items: Number of items to take from new feeds
# log_level: One of DEBUG, INFO, WARNING, ERROR or CRITICAL
cache_directory = examples/cache
new_feed_items = 2
log_level = DEBUG

# template_files: Space-separated list of output template files
template_files = examples/basic/index.html.tmpl examples/atom.xml.tmpl examples/rss20.xml.tmpl examples/rss10.xml.tmpl examples/opml.xml.tmpl examples/foafroll.xml.tmpl

# The following provide defaults for each template:
# output_dir: Directory to place output files
# items_per_page: How many items to put on each page
# days_per_page: How many complete days of posts to put on each page
#                This is the absolute, hard limit (over the item limit)
# date_format: strftime format for the default 'date' template variable
# new_date_format: strftime format for the 'new_date' template variable
# encoding: output encoding for the file, Python 2.3+ users can use the
#           special "xml" value to output ASCII with XML character references
# locale: locale to use for (e.g.) strings in dates, default is taken from your
#         system. You can specify more locales separated by ':', planet will
#         use the first available one
output_dir = examples/output
items_per_page = 60
days_per_page = 0
date_format = %B %d, %Y %I:%M %p
new_date_format = %B %d, %Y
encoding = utf-8
# locale = C


# To define a different value for a particular template you may create
# a section with the same name as the template file's filename (as given
# in template_files).
#
#     [examples/rss10.xml.tmpl]
#     items_per_page = 30
#     encoding = xml


# Any other section defines a feed to subscribe to.  The section title
# (in the []s) is the URI of the feed itself.  A section can also be
# have any of the following options:
# 
# name: Name of the feed (defaults to the title found in the feed)
#
# Additionally any other option placed here will be available in
# the template (prefixed with channel_ for the Items loop).  You can
# define defaults for these in a [DEFAULT] section, for example
# Planet Debian uses the following to define faces:
#
#     [DEFAULT]
#     facewidth = 64
#     faceheight = 64
#
#     [http://www.blog.com/rss]
#     face = foo.png
#     faceheight = 32
#
# The facewidth of the defined blog defaults to 64.

[http://www.netsplit.com/blog/index.rss]
name = Scott James Remnant

[http://www.gnome.org/~jdub/blog/?flav=rss]
name = Jeff Waugh

[http://usefulinc.com/edd/blog/rss91]
name = Edd Dumbill

[http://blog.clearairturbulence.org/?flav=rss]
name = Thom May

[http://www.hadess.net/diary.rss]
name = Bastien Nocera
