<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>baseplane - technology platforms &#187; template</title>
	<atom:link href="http://baseplane.com/tag/template/feed/" rel="self" type="application/rss+xml" />
	<link>http://baseplane.com</link>
	<description>Technology Platforms, Architecture and Kits for all your codes by Ryan Christensen</description>
	<lastBuildDate>Thu, 12 Nov 2009 05:10:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Baseplane Tool: Tenjin Templating Library (pyTenjin, jsTenjin, phpTenjin, rbTenjin, plTenjin)</title>
		<link>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/</link>
		<comments>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:17:09 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[jstenjin]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phptenjin]]></category>
		<category><![CDATA[pltenjin]]></category>
		<category><![CDATA[pytenjin]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rbtenjin]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tenjin]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=48</guid>
		<description><![CDATA[Tenjin is a great templating library that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.
Here is a list of the Tenjin Templating engines:

pyTenjin
phpTenjin
rbTenjin
jsTenjin
plTenjin


 Changes
 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kuwata-lab.com/tenjin/" target="_blank">Tenjin is a great templating library </a>that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.</p>
<p><strong>Here is a list of the Tenjin Templating engines:</strong></p>
<ul>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">pyTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">phpTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">rbTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">jsTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">plTenjin</a></li>
</ul>
<dl class="dl1">
<dt class="dt1"> Changes</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-CHANGES.txt">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-CHANGES.txt">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-CHANGES.txt">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-CHANGES.txt">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-CHANGES.txt">JavaScript</a>) </dd>
<dt class="dt1"> User&#8217;s Guide</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-users-guide.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-users-guide.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-users-guide.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-users-guide.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-users-guide.html">JavaScript</a>) </dd>
<dt class="dt1"> FAQ</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-faq.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-faq.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-faq.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-faq.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-faq.html">JavaScript</a>) </dd>
<dt class="dt1"> Examples</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-examples.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-examples.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-examples.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-examples.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-examples.html">JavaScript</a>) </dd>
<dt class="dt1"> Presentation</dt>
<dd class="dd1"> <a href="http://www.kuwata-lab.com/presen/LL2007LT.pdf">2007 LL Spirit LightningTalk</a> (full-version) (Japanese)</dd>
</dl>
<p><strong>Here is what the template markup looks like:</strong></p>
<p><strong>This</strong></p>
<pre class="program">&lt;table&gt;
&lt;tbody&gt;
<strong>&lt;?py i = 0 ?&gt;</strong>
<strong>&lt;?py for item in ['&lt;foo&gt;', 'bar&amp;bar', '"baz"']: ?&gt;</strong>
<strong>&lt;?py     i += 1 ?&gt;</strong>
&lt;tr&gt;
&lt;td&gt;<strong>#{item}</strong>&lt;/td&gt;
&lt;td&gt;<strong>${item}</strong>&lt;/td&gt;
&lt;/tr&gt;
<strong>&lt;?py #end ?&gt;</strong>
&lt;tbody&gt;

&lt;/table&gt;</pre>
<p><strong>Produces This</strong></p>
<pre class="terminal">&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;<strong>&lt;foo&gt;</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;lt;foo&amp;gt;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>bar&amp;bar</strong>&lt;/td&gt;
&lt;td&gt;<strong>bar&amp;amp;bar</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>"baz"</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;quot;baz&amp;quot;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tbody&gt;
&lt;/table&gt;</pre>
<p><strong>Here are some speed results</strong></p>
<table class="table1" border="1" cellspacing="0" summary="MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB">
<caption class="caption1"> MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB </caption>
<tbody>
<tr class="tr1">
<th class="th1">Language</th>
<th class="th1">Template Engine</th>
<th class="th1">Test#1(sec)</th>
<th class="th1">Test#2(sec)</th>
</tr>
<tr class="tr1">
<td class="td1" rowspan="8">Python(2.5.1)</td>
<td class="td1"><strong>pyTenjin</strong> (0.6.1)</td>
<td class="td1" align="right"><strong>6.96</strong></td>
<td class="td1" align="right"><strong>5.61</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.cheetahtemplate.org/">Cheetah</a> (2.0)</td>
<td class="td1" align="right">20.36</td>
<td class="td1" align="right">19.82</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Django</a> (0.9.5)</td>
<td class="td1" align="right">71.33</td>
<td class="td1" align="right">59.80</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Myghty</a> (1.1)</td>
<td class="td1" align="right">107.88</td>
<td class="td1" align="right">19.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.kid-templating.org/">Kid</a> (0.9.6)</td>
<td class="td1" align="right">380.24</td>
<td class="td1" align="right">378.96</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://genshi.edgewall.org/">Genshi</a> (0.4.4)</td>
<td class="td1" align="right">560.30</td>
<td class="td1" align="right">271.69</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.makotemplates.org/">Mako</a> (0.1.9)</td>
<td class="td1" align="right">17.78</td>
<td class="td1" align="right">13.49</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://webpy.org/templetor">Templetor</a> (web.py 0.22)</td>
<td class="td1" align="right">428.19</td>
<td class="td1" align="right">61.53</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Ruby(1.8.6)</td>
<td class="td1"><strong>rbTenjin</strong> (0.6.0)</td>
<td class="td1" align="right"><strong>7.34</strong></td>
<td class="td1" align="right"><strong>4.52</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://modruby.net/en/index.rbx/eruby/whatis.html">eruby</a> (1.0.5)</td>
<td class="td1" align="right">12.29</td>
<td class="td1" align="right">11.53</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/">ERB</a>(def_method) (Ruby1.8.6)</td>
<td class="td1" align="right">36.73</td>
<td class="td1" align="right">5.85</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">PHP(5.2.0)</td>
<td class="td1"><strong>phpTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>5.39</strong></td>
<td class="td1" align="right"><strong>3.64</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://smarty.php.net/">Smarty</a> (2.6.18)</td>
<td class="td1" align="right">10.84</td>
<td class="td1" align="right">10.21</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Perl(5.8.8)</td>
<td class="td1"><strong>plTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>10.42</strong></td>
<td class="td1" align="right"><strong>5.72</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://template-toolkit.org/">Template-Toolkit</a>(XS) (2.18)</td>
<td class="td1" align="right">103.58</td>
<td class="td1" align="right">26.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://html-template.sourceforge.net/">HTML::Template</a> (2.9)</td>
<td class="td1" align="right">46.70</td>
<td class="td1" align="right">30.21</td>
</tr>
<tr class="tr1">
<td class="td1">JS(spidermonkey)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>19.00</strong></td>
<td class="td1" align="right"><strong>12.98</strong></td>
</tr>
<tr class="tr1">
<td class="td1">JS(Rhino, JDK5)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>24.29</strong></td>
<td class="td1" align="right"><strong>19.15</strong></td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">Java(JDK5)</td>
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.4)</td>
<td class="td1" align="right">22.80</td>
<td class="td1" align="right">11.41</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.5)</td>
<td class="td1" align="right">20.01</td>
<td class="td1" align="right">8.42</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
