ClearSilver is language neutral, allowing you to seamlessly
mix C, C++, Python, Perl, Java, PHP, and any other programming
language you use, all in the same site, or even the same
page.

ClearSilver is fast, avoiding the problems created by
language-specific template systems written in slow script languages
such as Python or Perl.

ClearSilver is easy to use. Unlike XML/XSLT, which are
complicated to setup and understand. You'll quickly find that
ClearSilver is the easiest way to develop dynamic webpages.

"... what the world needs now is another templating system ..." -- Cracker

News:

Release ClearSilver 0.11.0[2017-Jul-14]This release captures nearly 8 years of bugfixes (not as many as you
might think), and it's been way too long since we had a release, so here
it is. This release was done directly from github, go to here.

Release ClearSilver 0.10.2[2005-Dec-14]Another release, mostly fixes for portability. If you've had problems
compiling clearsilver in the past, this release is for you. One
pervasive C API change for gcc4 where most functions take a 'char *'
instead of an 'unsigned char *' now.

Release ClearSilver 0.10.1[2005-July-28]Another release, lots of changes to the Java JNI wrapper, plus big
changes to the const-ness of arguments in the C library.

Release ClearSilver 0.9.6[2003-Oct-20]A couple internal versions have gone by, so I should really get the new
version out there so people can see it. Biggest change is the addition
of a callback mechanism for handling client data, so you should be able
to implement XML-RPC using the ClearSilver CGI Kit. See the
Notes and the
ChangeLog for more
details.

Release ClearSilver 0.9.3[2003-Aug-31]New version of ClearSilver is now available, check out the Notes and the ChangeLog for more
details. This is a bugfix release, and I got the rpm spec file to work
(mostly).

Release ClearSilver 0.9.2[2003-Aug-18]New version of ClearSilver is now available, check out the Notes and the ChangeLog for more
details. Biggest addition is the C# module from Jeske, improvements to
the Ruby module by Dan, and distutils/setup.py support for the Python
module by Brandon.

Release ClearSilver 0.9.1[2003-Jul-07]D'oh. Missed ClearSilver.h. This release is just a fix of the last
release, really. Oh, and the ruby module should now compile on ruby
1.4.5, maybe earlier.

Release ClearSilver 0.9.0[2003-Jul-07]Continuing our tradition or releasing software when month == day, we
bring you version 0.9.0. This version has a couple possibly
incompatible changes as we clean up the syntax a bit, so check out the
release notes and let us now if you
have any problems.

Release ClearSilver 0.8.1[2003-Apr-04]The main purpose of this release is moving to an autoconf/configure
build system, though a couple other things snuck in there. Check out
the release notes for more information.

Release ClearSilver 0.8.0[2003-Feb-21]This is mostly a bugfix release, but we do now support the
foo["bar"].baz, on top of the old foo["bar"]["baz"].

Release ClearSilver 0.7.2[2002-Oct-17]No new changes to the CS template syntax, but we have completed the
preliminary port to Windows based on MinGW, including the Python module. We've also made a preliminary JAVA JNI connector,
with a simple Servlet example, and included version 0.2 of Gaku's Perl
module. See the included python/README.txt for information on compiling
on Windows.

Release ClearSilver 0.7.1[2002-Sep-10]This is mostly a bugfix release, though we also have preliminary support
for a Windows port based on MinGW.
David's HZ game engine has an exe install for Windows that includes mingw. We also have some preliminary networking code, also designed after the code we used for internal servers at eGroups. This code makes it fairly easy to implement simple rpc style servers in C, useful when you need to write a bunch of simple servers for your highly scalable application.

Release ClearSilver 0.7[2002-Jul-16]This release adds a couple new features to CS, including the question mark
exists operator, fixes to make the not operator a true unary operator,
and support for registering string manipulation functions. Currently,
the CGI kit uses the CS registered functions to provide functions for
html escaping, url escaping, javascript escaping, text to html
conversion, and html tag stripping to the CGI templating environment.
The addition of the existence operator should help in that it allows for
and/or expressions involving existence testing, and makes existence
testing explicit. For example:

Release ClearSilver 0.6[2002-Apr-25]Another quick release to fix some core dump bugs in 0.5 with respect to
some of the new expression and local variable ability. This version
also adds attributes to HDF, which allows you to set out of band data in
the form of key/value pairs on particular HDF elements. This allows you
to specify in an HDF file something like:

Currently, attributes are only accessible from code, I'm still thinking
about what the syntax should be for CS access.

Release ClearSilver 0.5[2002-Apr-19]This release contains a bunch of bugfixes, a method for sorting HDF,
support for HTTP PUT, better expression support including parenthesis
and array access. Array access allows you to programmatically build
variable references in CS, ie: foo["bar"] is equivalent to foo.bar.
Added alt CS command: <?cs alt:MyVar ?>Other Things<?cs /alt ?>
If MyVar doesn't exist, then print Other Things, else print MyVar.
This release also includes imd, an "image server" written in
ClearSilver, which should help as an example.

Release ClearSilver 0.4[2002-Jan-12]This release contains a bunch of bugfixes, and uses the new expression
parser in a couple more places, most notably in VAR, allowing for:
<?cs var:CGI.PathInfo + "/" + CGI.MyPath ?>. This
version also adds an Apache module for creating ClearSilver CGI's which
are loaded into Apache at run-time. The Apache module is based on
mod_ecgi.

Release ClearSilver 0.3[2001-Sep-16]This release contains a new expression parser. This expression parser
is now used in most places which only expected an HDF variable before,
and provides most of the syntax that was only allowed for SET before.
This also implies less duplication of parsing code. With this code, you
can now do: <?cs call:myfunc(#5 + #5) ?>.
Note that with the new parser, expressions are calculated in the same
order of operations as C, which is different from the previous left to
right order of operations that the previous version had.

Release ClearSilver 0.2.1[2001-Sep-15]This is a quick bug fix release. A new version is coming soon with some
fairly major changes, and I wanted to get this out there for people who
didn't want the more dangerous changes in 0.3. Includes fix for the
python wrapper to work with PyApache in non-SingleInterpreter mode.

Release ClearSilver 0.2[2001-Aug-21]This release fixes a couple bugs, and adds the ability to have a callback
during form data upload. This can be used to either cut off a large
upload early (ie, don't let a user upload a 20MB file if there is a 5MB
limit, but you want to stop them before they actually waste all that
time uploading the file) or, if you are really fancy, you can do a
fancy upload progress bar in HTML.

Release ClearSilver 0.1[2001-Aug-06]This is the initial release of ClearSilver, a fast and
powerful templating system based on concepts learned while working for
some of the highest traffic sites on the web. This release is fairly
stable, but is considered alpha because the API is likely to
continue to change. ClearSilver is currently in use at Techdirt Corporate Intelligence,
and here at Neotonic with our Trakken product.