# Planet configuration file
#
# This illustrates some of Planet's fancier features with example.

# 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 Schmanet
link = http://planet.schmanet.janet/
owner_name = Janet Weiss
owner_email = janet@slut.sex

# 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
# feed_timeout: number of seconds to wait for any given feed
cache_directory = examples/cache
new_feed_items = 2
log_level = DEBUG
feed_timeout = 20

# template_files: Space-separated list of output template files
template_files = examples/fancy/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).

# Provide no more than 7 days articles on the front page
[examples/fancy/index.html.tmpl]
days_per_page = 7

# If non-zero, all feeds which have not been updated in the indicated
# number of days will be marked as inactive
activity_threshold = 0


# Options placed in the [DEFAULT] section provide defaults for the feed
# sections.  Placing a default here means you only need to override the
# special cases later.
[DEFAULT]
# Hackergotchi default size.
# If we want to put a face alongside a feed, and it's this size, we
# can omit these variables.
facewidth = 65
faceheight = 85


# 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).  We use
# this trick to make the faces work -- this isn't something Planet
# "natively" knows about.  Look at fancy-examples/index.html.tmpl
# for the flip-side of this.

[http://www.netsplit.com/blog/index.rss]
name = Scott James Remnant
face = keybuk.png
# pick up the default facewidth and faceheight

[http://www.gnome.org/~jdub/blog/?flav=rss]
name = Jeff Waugh
face = jdub.png
facewidth = 70
faceheight = 74

[http://usefulinc.com/edd/blog/rss91]
name = Edd Dumbill
face = edd.png
facewidth = 62
faceheight = 80

[http://blog.clearairturbulence.org/?flav=rss]
name = Thom May
face = thom.png
# pick up the default faceheight only
facewidth = 59
