<?xml version="1.0" encoding="UTF-8"?>
<wiki>
  <body>&lt;p&gt;Protorabbit templates are defined in &lt;span class=&quot;caps&quot;&gt;JSON&lt;/span&gt; (JavaScript Object Notation) format. Each template points to a &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; based template that has properties that can be substituted with strings or the contents of a file. Each template may specify the underlying &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; template, cache time for the template, scripts, &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; links, properties (such as page titles or pages that make up the template). A template may extend any number of other templates with the child properties taking precedence over it&#8217;s ancestors when the page is rendered.&lt;/p&gt;
&lt;p&gt;The Protorabbit Engine loads a template and renders the content. Individual portions of a template may be cached for varying intervals. The Protorabbit Engine will sets the correct headers, combines &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; and JavaScript assets (if specified), and gzips those resources as the page is rendered. The surrounding final pages are also cached and gzipped for as long as you specify in your template. Different templates may override the cache times of their parents or just inherit them.&lt;/p&gt;</body>
  <created-at type="datetime">2009-11-25T19:10:33-08:00</created-at>
  <id type="integer">230667</id>
  <permalink>architecture</permalink>
  <repository-id type="integer">160673</repository-id>
  <title>Architecture</title>
  <updated-at type="datetime">2009-06-03T15:23:49-07:00</updated-at>
  <user-id type="integer">31047</user-id>
</wiki>
