Hi,
many of you are already familiar with Cheetah: a 
Python-powered template engine and code generator that grew 
out of discussions here on the webware-discuss list.  
Cheetah was designed for internet development and provides 
integration with Webware. Together with Webware, Cheetah is 
a compelling alternative to ASP, JSP, PHP and PSP for 
building dynamic web sites. 

Last month, we shifted the development discussions to 
[EMAIL PROTECTED] and created 
http://www.CheetahTemplate.org.  Cheetah has matured a lot 
since then.  

**Version 0.9.7 was released a few hours ago.**  It 
includes fixes for almost all outstanding bugs,  a 
beefed-up regression test suite, and an updated Users' 
Guide.

Cheetah is Open Source Software and we welcome 
contributions and suggestions.  We also welcome any general 
discussion about Python-based templates on the 
cheetahtemplate-discuss e-mail list.  You can subscribe and 
view the archives at:
http://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss
Tavis Rudd (me), Mike Orr, Chuck Esterbrook, Ian Bicking 
and Tom Schwaller are the core developers.

More information is in the attached file and at 
http://cheetahtemplate.org/

Cheers,
Tavis 

Title: %(title)s
1.1 What is Cheetah? Cheetah is a Python-based template engine and code generator. A template is like a form letter: text with placeholders for the data that needs to be filled in. Python's % operator provides a primitive tool for working with templates: >>> print """ ... ... Hello World! 1.2 What is the philosophy behind Cheetah? Cheetah aims: * to make it easy to separate content, graphic design, and program code. A clean separation makes it easier for a team of content writers, HTML/graphic designers, and programmers to work together without stepping on each other's toes and polluting each other's work. The HTML framework and the content it contains are two separate things, and analytical calculations (program code) are another. Each team member should be able to concentrate on their specialty and to implement their changes without having to go through one of the others: i.e. the webmaster bottleneck. Other advantages to separation include: + faster development time. + HTML and program code that is easier to understand and maintain. + content that can be displayed in a variety of non-HTML formats such as PDF. + highly modular, flexible, and reusable site architectures. * to make it easy to integrate content, graphic design, and program code. While it should be easy to develop content, graphics and program code separately, it should be easy to integrate them together into a web site. In particular, it should be easy: * for programmers to create reusable components and functions that are accessible and understandable to designers. * for designers to mark out placeholders for content and dynamic components in their templates. * for designers to soft-code aspects of their design that are either repeated in several places or are subject to change. * for designers to extend and customize existing templates and thus minimize duplication of effort and code. * and, of course, for content writers to use the templates that designers have created. to provide template designers with a small set of 'Display Logic' programming structures such as conditional blocks and for loops Graphic designers often do tasks that would be easier, faster, and less error prone if they had access to conditional blocks and for loops. However, a full programming language would be overkill for these simple tasks and most designers don't have the time or desire to learn one. Complex logic belongs in Python code. to be equally well-suited for HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any other text-based format. Although Cheetah was designed with dynamic web sites and web applications in mind, it is not HTML-specific. to be efficient, flexible and extendable. Cheetah achieves these aims by: * blending the power and flexibility of Python with the simplicity of a small Template Definition Language (TDL) that non-programmers can understand. Cheetah's Template Definition Language is robust, but limited. It's limited because it's meant to complement Python, not replace it. A placeholder may be a simple attribute, a function call, or a method call, but it may not be a complex expression with operators. Complex calculations should be done outside the template in Python code. * giving template designers a simple way of accessing Python variables, objects, and functions in their templates. * providing a modular, object-oriented framework that makes it easy to create and maintain large web sites. * compiling 'Template Definitions' into native Python code at startup. The code is then executed for each request. This approach is dramatically faster than the string-substitution approach used by many templating engines. * providing a very simple-yet powerful-caching mechanism that can significantly increase the responsiveness of a dynamic web site. 1.3 Why is it called Cheetah? Cheetah is fast, flexible, agile and graceful - like its namesake. 1.4 Who developed Cheetah? Cheetah is one of several templating frameworks that grew out of a 'templates' thread on the Webware For Python email list. Tavis Rudd, Mike Orr, Chuck Esterbrook, Ian Bicking and Tom Schwaller are the core developers. 1.5 How mature is Cheetah? Cheetah is alpha/beta software as this Users' Guide is incomplete and several aspects of the design are still subject to change. We are hoping to release production version 1.0 in the summer of 2001. Here's a summary of known issues and aspects of the design that are in flux. * The #include directive is not working with relative path file includes when used with Webware. This should be resolved soon. * The #include directive is being reworked to monitor for changes in the included file at run-time. It currently does the include once-off at compile-time. * The parsing of macros is currently being worked on to make it more robust. However, the macro interface is stable. 1.6 Where can I get releases? Download Cheetah releases from http://CheetahTemplate.sourceforge.net 1.7 Where can I get news? News and updates can be obtained from the the Cheetah web site: http://CheetahTemplate.sourceforge.net Cheetah discussions take place on the list [EMAIL PROTECTED] If you encounter difficulties, or are unsure about how to do something, please post a detailed message to the list.

Reply via email to