Gmane
Gravatar
From: Christopher Lenz <cmlenz <at> gmx.de>
Subject: Announcing "Markup"
Newsgroups: gmane.comp.python.kid.general
Date: 2006-07-15 22:23:07 GMT (2 years, 20 weeks, 1 day, 17 hours and 33 minutes ago)
Hi folks,

I'd like to announce a new project that is closely related to Kid:

   <http://markup.edgewall.org/>

I'm calling it a "toolkit for stream-based generation of markup for  
the web". The largest part is actually an XML-based template engine  
that is heavily inspired by Kid.

The story behind this started when we played with the idea of using  
Kid in Trac (replacing the venerable ClearSilver template engine).  
Many in the Trac team agreed that Kid represented the best option out  
there for templating in Python. I personally started seriously  
investigating Kid on DrProject, which is a fork of Trac "tailored for  
academic use". DrProject successfully migrated to Kid, and thereby  
improved the templating story a lot for the most part. But there were  
also a number of things that annoyed me enough that I lost confidence  
in whether we could pull off the migration for Trac itself, where the  
risk of such a big change is much higher.

The major issues were:
  * error handling/reporting for stuff like syntax/runtime errors in  
expressions
  * expression evaluation being "too strict": I didn't like getting  
NameErrors from templates for undefined variables; plus I'd have  
liked foo.bar and foo['bar'] to be interchangeable.
  * variable name scoping / conflicts with Kid-internal names
  * no way to include non-ElementTree markup in the output without  
parsing it again (which is a problem if you want to do syntax  
highlighting with tools such as Enscript, which produce rather awful  
HTML code)

In addition,  I must say I'm rather skeptical about the whole idea of  
compiling templates to code. This aversion actually goes back to the  
JSP days :-P

Anyway, I started work on Markup someday, taking the ideas I liked  
best about Kid, and trying a different design to get rid of the  
annoyances. It started as a "for fun" sort of project, but has worked  
out much better than I initially expected. You can read up on the  
various aspects of Markup on the website (and in the code), so I'll  
stop here.

Now, I guess some of you folks working on Kid may be annoyed by this,  
some may be tempted to claim NIH and all that. I'd just like to say  
that the inspiration for Markup is based entirely on Kid, and I'm  
sure not trying to hide that. Markup is still in alpha state, and has  
only recently been made available to the general public (and without  
much of an announcement). If the Kid community is interested in  
joining forces in any way, I'm completely open to suggestions.

Cheers,
Chris
--
Christopher Lenz
   cmlenz at gmx.de
   http://www.cmlenz.net/

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642