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 theoutput_dir
- filter
- Regular expression that must be found in the textual portion of the entry
- exclude
- Regular expression that must not be found in the textual portion of the entry
- filters
- Space-separated list of filters to apply to each entry
- filter_directories
- Space-separated list of directories in which
filters
can be found
- 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
orCRITICAL
- 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
- Maximum number of items to include in the output from any one feed
- 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 thecache_directory
.- cache_keep_entries
- Used by
expunge
to determine how many entries should be kept for each source when expunging old entries from the cache directory. This may be overriden on a per subscription feed basis.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, three formats of reading lists are supported:
opml
, foaf
, csv
, and
config
. 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.
Filters can be defined on a per-template basis, and will be used to post-process the output of the template.
[
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.