Configuration

Configuration files are in ConfigParser format which basically means the same format as INI files, i.e., they consist of a series of [sections], in square brackets, with each section containing a list of name:value pairs (or name=value pairs, if you prefer).

You are welcome to place your entire configuration into one file. Alternately, you may factor out the templating into a "theme", and the list of subscriptions into one or more "reading lists".

[planet]

This is the only required section, which is a bit odd as none of the parameters listed below are required. Even so, you really do want to provide many of these, especially ones that identify your planet and either (or both) of template_files and theme.

Below is a complete list of predefined planet configuration parameters, including ones not (yet) implemented by Venus and ones that are either new or implemented differently by Venus.

name
Your planet's name
link
Link to the main page
owner_name
Your name
owner_email
Your e-mail address
cache_directory
Where cached feeds are stored
output_dir
Directory to place output files
output_theme
Directory containing a config.ini file which is merged with this one. This is typically used to specify templating and bill of material information.
template_files
Space-separated list of output template files
template_directories
Space-separated list of directories in which template_files can be found
bill_of_materials
Space-separated list of files to be copied as is directly from the template_directories to the output_dir
filters
Space-separated list of filters to apply to each entry
items_per_page
How many items to put on each page. Whereas Planet 2.0 allows this to be overridden on a per template basis, Venus currently takes the maximum value for this across all templates.
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 only applies to htmltmpl templates
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
activity_threshold
If non-zero, all feeds which have not been updated in the indicated number of days will be marked as inactive
log_level
One of DEBUG, INFO, WARNING, ERROR or CRITICAL
log_format
format string to use for logging output. Note: this configuration value is processed raw
feed_timeout
Number of seconds to wait for any given feed
new_feed_items
Number of items to take from new feeds
spider_threads
The number of threads to use when spidering. When set to 0, the default, no threads are used and spidering follows the traditional algorithm.
http_cache_directory
If spider_threads is specified, you can also specify a directory to be used for an additional HTTP cache to front end the Venus cache. If specified as a relative path, it is evaluated relative to the cache_directory.

Additional options can be found in normalization level overrides.

[DEFAULT]

Values placed in this section are used as default values for all sections. While it is true that few values make sense in all sections; in most cases unused parameters cause few problems.

[subscription]

All sections other than planet, DEFAULT, or are named in [planet]'s filters or templatefiles parameters are treated as subscriptions and typically take the form of a URI.

Parameters placed in this section are passed to templates. While you are free to include as few or as many parameters as you like, most of the predefined themes presume that at least name is defined.

The content_type parameter can be defined to indicate that this subscription is a reading list, i.e., is an external list of subscriptions. At the moment, two formats of reading lists are supported: opml and foaf. In the future, support for formats like xoxo could be added.

Normalization overrides can also be defined here.

[template]

Sections which are listed in [planet] template_files are processed as templates. With Planet 2.0, it is possible to override parameters like items_per_page on a per template basis, but at the current time Planet Venus doesn't implement this.

[filter]

Sections which are listed in [planet] filters are processed as filters.

Parameters which are listed in this section are passed to the filter in a language specific manner. Given the way defaults work, filters should be prepared to ignore parameters that they didn't expect.