<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

### Fancy Planet HTML template.
### 
### When combined with the stylesheet and images in the output/ directory
### of the Planet source, this gives you a much prettier result than the
### default examples template and demonstrates how to use the config file
### to support things like faces
### 
### For documentation on the more boring template elements, see
### examples/config.ini and examples/index.html.tmpl in the Planet source.

<head>
<title><TMPL_VAR name></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="<TMPL_VAR generator ESCAPE="HTML">">
<link rel="stylesheet" href="planetwebkit.css" type="text/css">
<TMPL_IF feedtype>
<link rel="alternate" href="<TMPL_VAR feed ESCAPE="HTML">" title="<TMPL_VAR channel_title_plain ESCAPE="HTML">" type="application/<TMPL_VAR feedtype>+xml">
</TMPL_IF>
</head>

<body>
<div id="icon"></div>
<div id="wrapper">

<TMPL_LOOP Items>
<TMPL_IF new_date>
<TMPL_UNLESS __FIRST__>
### End <div class="channelgroup">
</div>
### End <div class="daygroup">
</div>
</TMPL_UNLESS>
<div class="daygroup">
<h2><TMPL_VAR new_date></h2>
</TMPL_IF>

<TMPL_IF new_channel>
<TMPL_UNLESS new_date>
### End <div class="channelgroup">
</div>
</TMPL_UNLESS>
<div class="channelgroup">

### Planet provides template variables for *all* configuration options for
### the channel (and defaults), even if it doesn't know about them.  We
### exploit this here to add hackergotchi faces to our channels.  Planet
### doesn't know about the "face", "facewidth" and "faceheight" configuration
### variables, but makes them available to us anyway.

<TMPL_IF channel_face>
<img class="face" src="images/<TMPL_VAR channel_face ESCAPE="HTML">" width="<TMPL_VAR channel_facewidth ESCAPE="HTML">" height="<TMPL_VAR channel_faceheight ESCAPE="HTML">" alt="">
</TMPL_IF>
</TMPL_IF>


<div class="entrygroup" id="<TMPL_VAR id>"<TMPL_IF channel_language> lang="<TMPL_VAR channel_language>"</TMPL_IF>>
<TMPL_IF title>
<h3<TMPL_IF title_language> lang="<TMPL_VAR title_language>"</TMPL_IF>><a href="<TMPL_VAR link ESCAPE="HTML">"><TMPL_VAR title></a></h3>
<h4><a href="<TMPL_VAR channel_link ESCAPE="HTML">" title="<TMPL_VAR channel_title_plain ESCAPE="HTML">"><TMPL_VAR channel_name></a></h4>
</TMPL_IF>
<div class="entry">
<div class="content"<TMPL_IF content_language> lang="<TMPL_VAR content_language>"</TMPL_IF>>
<TMPL_VAR content>
</div>

### Planet also makes available all of the information from the feed
### that it can.  Use the 'planet-cache' tool on the cache file for
### a particular feed to find out what additional keys it supports.
### Comment extra fields are 'author' and 'category' which we
### demonstrate below.

<p class="date">
<a href="<TMPL_VAR link ESCAPE="HTML">"><TMPL_IF author>By <TMPL_VAR author> at </TMPL_IF><TMPL_VAR date><TMPL_IF category> under <TMPL_VAR category></TMPL_IF></a>
</p>
</div>
</div>

<TMPL_IF __LAST__>
### End <div class="channelgroup">
</div>
### End <div class="daygroup">
</div>
</TMPL_IF>
</TMPL_LOOP>
</div>


<div class="sidebar">
<h1><TMPL_VAR name></h1>
<h2>Subscriptions</h2>
<ul>
<TMPL_LOOP Channels>
<li>
<a href="<TMPL_VAR url ESCAPE="HTML">" title="subscribe"><img src="images/feed-icon-10x10.png" alt="(feed)"></a> <a <TMPL_IF link>href="<TMPL_VAR link ESCAPE="HTML">" </TMPL_IF><TMPL_IF message>class="message" title="<TMPL_VAR message ESCAPE="HTML">"</TMPL_IF><TMPL_UNLESS message>title="<TMPL_VAR title_plain ESCAPE="HTML">"</TMPL_UNLESS>><TMPL_VAR name></a>
</li>
</TMPL_LOOP>
</ul>

<p>
<strong>Last updated:</strong><br>
<small><TMPL_VAR date></small><br>
<small><em>All times are UTC.</em></small><br>
<br>
Powered by:<br>
<a href="http://www.planetplanet.org/"><img src="images/planet.png" width="80" height="15" alt="Planet" border="0"></a>
</p>

</div>
</body>

</html>
