diff options
author | R. Tyler Ballance <tyler@slide.com> | 2009-06-01 10:46:54 -0700 |
---|---|---|
committer | R. Tyler Ballance <tyler@slide.com> | 2009-06-01 10:46:54 -0700 |
commit | cb4fbda4ac3cd5386d4aabb3c9a72d592ca2869d (patch) | |
tree | 3b76d076bafdecaafbf02f46c23b028debdce61d /recipes/content/Precompiled_Templates.html | |
parent | 66ea7ff841c5142053277733f92e9c3527aa7144 (diff) | |
download | python-cheetah-cb4fbda4ac3cd5386d4aabb3c9a72d592ca2869d.tar.gz |
Nuke a lot of the old site
Signed-off-by: R. Tyler Ballance <tyler@slide.com>
Diffstat (limited to 'recipes/content/Precompiled_Templates.html')
-rw-r--r-- | recipes/content/Precompiled_Templates.html | 438 |
1 files changed, 0 insertions, 438 deletions
diff --git a/recipes/content/Precompiled_Templates.html b/recipes/content/Precompiled_Templates.html deleted file mode 100644 index 08ed9c2..0000000 --- a/recipes/content/Precompiled_Templates.html +++ /dev/null @@ -1,438 +0,0 @@ - - - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html> - <head> - <title>Community Cheetah - The Python-Powered Template Engine - Precompiled_Templates</title> - <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/> - <meta name="keywords" content="cheetah, template engine, python, community cheetah, templating, markdown, markup, mod_python, webware"/> - <meta name="googlebot" content="index, follow" /> - <meta name="language" content="en-us, english" /> - </head> - <body> - <style type="text/css"> - <!-- - /* This CSS style sheet was developed by www.studio7designs.com for opensourcetemplates.org ... Please email if you have any questions aran@studio7designs.com Have fun! */ - - -body { -background:#ffffff url('../../images/bg.jpg') top center repeat-x; -margin:10px 10px 0px 10px; -padding:0px; -color: #000; -font-family:"Trebuchet MS",arial,sans-serif; -font-size: 80%; - -} - -body a:link, body a:visited { - color: blue; -} - -#blogtitle{ -width:100%; -margin:0px auto; -padding:0 0 5px 0; -font-size:1.1em; -line-height:1.2em; -} - -#blogtitle a:link, a:visited { - color:#b8ce83; - text-decoration:none; -} - -#blogtitle a:hover, a:active { - color:#fff; - text-decoration:none; -} - -#small{ -positon:relative; -padding-left: 5px; - -} - -#small2{ -positon:relative; -float:right; -margin-top: -15px; - -} - -UL.BLUE { -list-style: url(../../images/bullet.jpg) disc; -font-size: 1.1em; - -} - -#leftcontent { -position: absolute; -left:10px; -top:50px; -width:200px; -margin-top: 116px; -background-image:url("../../images/strips_onside.jpg"); -background-repeat:repeat-y; -font-size:1.0em; -padding-left: 12px; -padding-top: 8px; - -} - -#leftcontent p{padding-right:10px; margin-left: 5px; color:#888; font-size:1em;} - -#centercontent { -margin-top: 37px; -background:#fff; -margin-left: 199px; -margin-right:199px; -color:#000; -voice-family: "\"}\""; -voice-family: inherit; -margin-left: 201px; -margin-right:201px; -padding:20px; -font-size: 1.3em; -} - -#centercontent p {color:#000;} - -html>body #centercontent { -margin-left: 201px; -margin-right:201px; - -} - -.centercontentleft {float:left; width:40%; height:200px; background-color:#fff; text-align:left; -border:dashed 2px #ccc; margin: 4px 10px 5px 10px; padding:6px; font-size:1.1em; color:#666666;} - -.centercontentright {float:right; width:30%; height:100px; background-color:#fff; text-align:left; -border:dashed 2px #ccc; margin: 4px 10px 5px 10px; padding:6px; font-size:1.1em; color:#666666;} - - -#rightcontent { -position: absolute; -right:10px; -top:0px; -width: 200px; -font-size:1.1em; -background-image:url("../../images/strips_onside.jpg"); -background-repeat:repeat-y; -margin-top:150px; -padding-left: 5px; -padding-right: 8px; -padding-top: 8px; -} - -#rightcontent p {color:#888;} - -#banner { -background:#fff; -height:40px; -voice-family: "\"}\""; -voice-family: inherit; -height:39px; - -} - -html>body #banner { -height:39px; - -} - -p,h1,pre { -margin:0px 10px 10px 10px; -font:Arial, Helvetica, sans-serif; -font-size:12px; -line-height: 1.6em; -text-align:justify; -text-decoration:none; -} - -h1 { -font-size:2.5em; -float:right; -color:#ccc; -padding-top:15px; - -} - -h3 { -font-size:14px; -color:#999; - -} - -#banner h1 { -font-size:14px; -padding:10px 10px 0px 10px; -margin:0px; - -} - -#rightcontent p { -font-size:11px - -} - -.introduction ul, #introduction li { -text-align:center; -list-style: none; -margin: 0; -padding: 0; - -} - -.introduction h3{ -text-align: center; -position:static; - -} - - -/* ~~~~~~~~~ PROPS FOR THE MENU GO OUT TO EXPLODING-BOY.COM ~~~~~~~~~ */ - -#topmenu { -position: absolute; -top: 45px; -left: 240px; -width: 600px; -font-size:100%; -margin: 0 0 50px 0;; -line-height:normal; -height: 35px; -} -#topmenu ul { -margin:0; -padding:0px 0px 0 0px; -list-style:none; -} -#topmenu li { -display:inline; -margin:0; -padding:0; -} -#topmenu a { -float:left; -background:url(../../images/menuleft.gif) no-repeat left top; -margin:0; -padding:0 0 0 4px; -text-decoration:none; -} -#topmenu a span, a:visited span { -float:left; -display:block; -background:url(../../images/menuright.gif) no-repeat right top; -padding:5px 15px 4px 6px; -color:#888; -} - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -#topmenu a span {float:none;} -/* End IE5-Mac hack */ -#topmenu a:hover span { -color:#999999; -} -#topmenu a:hover { -background-position:0% -42px; -} -#topmenu a:hover span { -background-position:100% -42px; -} - -/* ~~~~~~~~~ END MENU ~~~~~~~~~ */ - - - -/* ~~~~~~~~~ BEGIN FOOTER ~~~~~~~~~ */ - -#footer{ -/*height:329px;*/ -background:#000 url('../../images/bg.jpg') top center repeat-x; -text-align: center; -padding-top: 8px; -clear: both; -float: none; -margin-left: -10px; -margin-right: -10px; -margin-bottom: -20px; - -} - -#footer a, a:link { -color:#999999; -text-decoration: none; - -} -#footer a:hover { -color:#A5CE77; -text-decoration: none; - -} - -/* ~~~~~~~~~ END FOOTER~~~~~~~~~ */ - - -/* ~~~~~~~~~ BOXES AT BOTTOM OF PAGE ~~~~~~~~~ */ - -.centercontentleftb {float:left; width:45%; height:200px; background-color:#31412c; text-align:left; -border:dashed 1px #888; margin: 50px 10px 5px 10px; padding:6px; font-size:1.1em; color:#fff;} - - -.centercontentleftimg {float:left; width:45%; height:45%x; background-color:#31412c; text-align:left; -border:dashed 1px #888; padding:6px; font-size:1.1em; color:#fff;} - -.centercontentrightimg {float:right; width:45%; height:45%; background-color:#31412c; text-align:left; -border:dashed 1px #888; padding:6px; font-size:1.1em; color:#fff;} - -.centercontentrightb {float:right; width:45%; height:200px; background-color:#31412c; text-align:left; -border:dashed 1px #888; margin: 50px 13px 5px 10px; padding:6px; font-size:1.1em; color:#fff;} - -.centercontentleftimg {float:left; width:45%; height:45%; background-color:#31412c; text-align:left; -border:dashed 1px #888; padding:6px; font-size:1.1em; color:#fff;} - -.centercontentrightimg {float:right; width:45%; height:45%; background-color:#31412c; text-align:left; -border:dashed 1px #888; padding:6px; font-size:1.1em; color:#fff;} - - --> - </style> - - - <a href="http://github.com/rtyler/cheetah"> - <img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_orange_ff7600.png" alt="Fork me on GitHub" /> -</a> - <div id="blogtitle"> - <div id="small" style="margin-left: 130px;"><a href="#">Community Cheetah</a> </div> - <div id="small2"> - <a href="../../index.html">Home</a> | - <a href="../../http://bugs.communitycheetah.org">Issues</a> | - <a href="../../http://github.com/rtyler/cheetah/tree/master">Source</a> | - <a href="../../roadmap.html">Roadmap</a> | - </div> - </div> - - <div id="topmenu"> - <ul class="BLUE"> - <li> - <a href="../../index.html" title="Home"> - <span>Home</span> - </a> - </li> - <li> - <a href="../../download.html" title="Download"> - <span>Download</span> - </a> - </li> - <li> - <a href="../../docs.html" title="Documentation"> - <span>Documentation</span> - </a> - </li> - <li> - <a href="../../recipes/" title="Recipes"> - <span>Recipes</span> - </a> - </li> - <li> - <a href="../../community.html" title="Community"> - <span>Community</span> - </a> - </li> - <li> - <a href="../../developers.html" title="Developers"> - <span>Developers</span> - </a> - </li> - </ul> - </div> - - - - <div id="centercontent"> - <h1>Precompiled Templates</h1> -<h2>Why bother?</h2> -<p>Since Cheetah supports two basic modes: dynamic and precompiled templates, you have -a lot of options when it comes to utilizing Cheetah, particularly in web environments.</p> -<p>There is added speed to be gained by using pre-compiled templates, especially when -using mod_python with Apache. Precompiling your templates means Apache/mod_python -can load your template's generated module into memory and then execution is only -limited by the speed of the Python being executed, and not the Cheetah compiler. -You can further optimize things by then pre-compiling the generated Python files -(.py) down to Python byte-code (.pyc) so save cycles interpreting the Python.</p> -<h2>Basic Pre-compilation</h2> -<p>Suppose you have a template that looks something like this:</p> -<pre><code>#attr title = "This is my Template" -<html> - <head> - <title>${title}</title> - </head> - <body> - Hello ${who}! - </body> -</html> -</code></pre> -<p><strong>Figure 1. hello.tmpl</strong></p> -<p>In order to compile this down to a Python file, you need to only execute the -<code>cheetah compile hello.tmpl</code> command. The results will be a Python file (.py) -which you can then treat as any other Python module in your code base.</p> -<h2>Importing and lookup</h2> -<p>Typically for the template in <em>Figure 1</em>, I could easily import it post-compilation -as any other Python module:</p> -<pre><code>from templates import hello - -def myMethod(): - tmpl = hello.hello(searchList=[{'who' : 'world'}]) - results = tmpl.respond() -</code></pre> -<p><strong>Figure 2. runner.py</strong></p> -<p><em>Note:</em> If you use the <code>#implements</code> directive, <code>respond</code> may not be your "main -method" for executing the Cheetah template. You can adjust the example above in -<em>Figure 2</em> by using <code>getattr()</code> to make the lookup of the main method dynamic:</p> -<pre><code>def myMethod(): - tmpl = hello.hello(searchList=[{'who' : 'world'}]) - mainMethod = getattr(tmpl, '_mainCheetahMethod_for_%s' % tmpl.__class__.__name__) - results = getattr(tmpl, mainMethod)() -</code></pre> -<p><strong>Figure 3. Dynamic runner.py</strong></p> -<p><span style="float: right; clear: both;"><em>Last edited: Sun May 31 18:40:24 2009 </em></span></p> - </div> - - <div id="rightcontent"> - <img style="margin-top:-9px; margin-left: -5px;" src="../../images/top2.jpg" alt="" /> - - <div id="twitter_div"> - <h2 class="sidebar-title">Twitter Updates</h2> - <ul id="twitter_update_list"></ul> - - <a href="http://twitter.com/cheetahtemplate" id="twitter-link" style="display:block;text-align:right;">follow Cheetah on Twitter</a> - </div> - - - <img style="padding-top:5px; margin-left:-5px; margin-bottom:-4px;" src="../../images/specs_bottom.jpg" alt="" /> - </div> - - <br clear="all"/> - <br/> - - <a href="http://www.python.org" target="_blank"><img src="../../images/python-logo.gif" border="0" alt="Python-powered" title="Python-powered" align="right"/></a> - <br clear="all"/> - <br/> - <div id="footer"> - © 2006 Design by <a href="http://www.studio7designs.com">Studio7designs.com</a> - </div> - - - <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script> - <script type="text/javascript" src="http://twitter.com/statuses/user_timeline/cheetahtemplate.json?callback=twitterCallback2&count=5"></script> - </body> -</html> - - - - - - - - |