| Installing Planet |
| ----------------- |
| |
| You'll need at least Python 2.1 installed on your system, we recommend |
| Python 2.3 though as there may be bugs with the earlier libraries. |
| |
| Everything Pythonesque Planet needs should be included in the |
| distribution. |
| |
| i. |
| First you'll need to extract the files into a folder somewhere. |
| I expect you've already done this, after all, you're reading this |
| file. You can place this wherever you like, ~/planet is a good |
| choice, but so's anywhere else you prefer. |
| |
| ii. |
| Make a copy of the files in the 'examples' subdirectory, and either |
| the 'basic' or 'fancy' subdirectory of it and put them wherever |
| you like; I like to use the Planet's name (so ~/planet/debian), but |
| it's really up to you. |
| |
| The 'basic' index.html and associated config.ini are pretty plain |
| and boring, if you're after less documentation and more instant |
| gratification you may wish to use the 'fancy' ones instead. You'll |
| want the stylesheet and images from the 'output' directory if you |
| use it. |
| |
| iii. |
| Edit the config.ini file in this directory to taste, it's pretty |
| well documented so you shouldn't have any problems here. Pay |
| particular attention to the 'output_dir' option, which should be |
| readable by your web server and especially the 'template_files' |
| option where you'll want to change "examples" to wherever you just |
| placed your copies. |
| |
| iv. |
| Edit the various template (*.tmpl) files to taste, a complete list |
| of available variables is at the bottom of this file. |
| |
| v. |
| Run it: planet.py pathto/config.ini |
| |
| You'll want to add this to cron, make sure you run it from the |
| right directory. |
| |
| vi. |
| Tell us about it! We'd love to link to you on planetplanet.org :-) |
| |
| |
| Template files |
| -------------- |
| |
| The template files used are given as a space separated list in the |
| 'template_files' option in config.ini. They are named ending in '.tmpl' |
| which is removed to form the name of the file placed in the output |
| directory. |
| |
| Reading through the example templates is recommended, they're designed to |
| pretty much drop straight into your site with little modification |
| anyway. |
| |
| Inside these template files, <TMPL_VAR xxx> is replaced with the content |
| of the 'xxx' variable. The variables available are: |
| |
| name .... } the value of the equivalent options |
| link .... } from the [Planet] section of your |
| owner_name . } Planet's config.ini file |
| owner_email } |
| |
| url .... link with the output filename appended |
| generator .. version of planet being used |
| |
| date .... { your date format |
| date_iso ... current date and time in { ISO date format |
| date_822 ... { RFC822 date format |
| |
| |
| There are also two loops, 'Items' and 'Channels'. All of the lines of |
| the template and variable substitutions are available for each item or |
| channel. Loops are created using <TMPL_LOOP LoopName>...</TMPL_LOOP> |
| and may be used as many times as you wish. |
| |
| The 'Channels' loop iterates all of the channels (feeds) defined in the |
| configuration file, within it the following variables are available: |
| |
| name .... value of the 'name' option in config.ini, or title |
| title .... title retreived from the channel's feed |
| tagline .... description retreived from the channel's feed |
| link .... link for the human-readable content (from the feed) |
| url .... url of the channel's feed itself |
| |
| Additionally the value of any other option specified in config.ini |
| for the feed, or in the [DEFAULT] section, is available as a |
| variable of the same name. |
| |
| Depending on the feed, there may be a huge variety of other |
| variables may be available; the best way to find out what you |
| have is using the 'planet-cache' tool to examine your cache files. |
| |
| The 'Items' loop iterates all of the blog entries from all of the channels, |
| you do not place it inside a 'Channels' loop. Within it, the following |
| variables are available: |
| |
| id .... unique id for this entry (sometimes just the link) |
| link .... link to a human-readable version at the origin site |
| |
| title .... title of the entry |
| summary .... a short "first page" summary |
| content .... the full content of the entry |
| |
| date .... { your date format |
| date_iso ... date and time of the entry in { ISO date format |
| date_822 ... { RFC822 date format |
| |
| If the entry takes place on a date that has no prior entry has |
| taken place on, the 'new_date' variable is set to that date. |
| This allows you to break up the page by day. |
| |
| If the entry is from a different channel to the previous entry, |
| or is the first entry from this channel on this day |
| the 'new_channel' variable is set to the same value as the |
| 'channel_url' variable. This allows you to collate multiple |
| entries from the same person under the same banner. |
| |
| Additionally the value of any variable that would be defined |
| for the channel is available, with 'channel_' prepended to the |
| name (e.g. 'channel_name' and 'channel_link'). |
| |
| Depending on the feed, there may be a huge variety of other |
| variables may be available; the best way to find out what you |
| have is using the 'planet-cache' tool to examine your cache files. |
| |
| |
| There are also a couple of other special things you can do in a template. |
| |
| - If you want HTML escaping applied to the value of a variable, use the |
| <TMPL_VAR xxx ESCAPE="HTML"> form. |
| |
| - If you want URI escaping applied to the value of a variable, use the |
| <TMPL_VAR xxx ESCAPE="URI"> form. |
| |
| - To only include a section of the template if the variable has a |
| non-empty value, you can use <TMPL_IF xxx>....</TMPL_IF>. e.g. |
| |
| <TMPL_IF new_date> |
| <h1><TMPL_VAR new_date></h1> |
| </TMPL_IF> |
| |
| You may place a <TMPL_ELSE> within this block to specify an |
| alternative, or may use <TMPL_UNLESS xxx>...</TMPL_UNLESS> to |
| perform the opposite. |