# 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 WebKit
link = http://planet.webkit.org/
owner_name = Brent Fulgham
owner_email = bfulgham@apple.com

# 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 = cache
new_feed_items = 6
log_level = DEBUG
feed_timeout = 20

# template_files: Space-separated list of output template files
template_files = templates/index.html.tmpl templates/atom.xml.tmpl templates/rss20.xml.tmpl templates/rss10.xml.tmpl templates/opml.xml.tmpl templates/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 = wwwroot
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
[templates/index.html.tmpl]
days_per_page = 14

# 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.atoker.com/blog/category/webkit/feed/]
name = Alp Toker
nick = alp

[http://blog.kov.eti.br/?feed=rss2&cat=16]
name = Gustavo Noronha
nick = kov

[http://zecke.blogspot.com/feeds/posts/full/-/WebKit]
name = Holger Freyther
nick = zecke

[http://www.politreco.com/tag/webkit/feed/]
name = Lucas De Marchi

[https://www.webkit.org/blog/feed/]
name = Surfin&rsquo; Safari

[http://labs.qt.nokia.com/category/labs/internet/webkit/feed/]
name = Qt Labs

[http://whtconstruct.blogspot.com/feeds/posts/default]
name = Brent Fulgham
nick = bfulgham
filter = webkit

[http://browser.sed.hu/feed/webkit]
name = University of Szeged

[http://blogs.adobe.com/webplatform/tag/webkit/feed/]
name = Adobe Web Platform

[http://www.bruno.abinader.com.br/tag/webkit/feed/]
name = Bruno de Oliveira Abinader
nick = abinader

[https://planet.igalia.com/webkit/rss20.xml]
name = Igalia WebKit
