home | news | documentation | downloads | discussion | projects | license  
 

What is Clearsilver?

Clearsilver is a fast, powerful, and language-neutral HTML template system. In both static content sites and dynamic HTML applications, it provides a separation between presentation code and application logic which makes working with your project easier.

The design of Clearsilver began in 1999, and evolved during its use at onelist.com, egroups.com, and Yahoo! Groups. Today many other projects and websites using it.

Why use Clearsilver?

High Performance and Language Neutral. Because Clearsilver is written as a C-library, and exported to scripting languages like Python, Perl, Java and Ruby via modules, it is extremely fast. This also means you can work with the same template system independent of the language your project is in.

Pluggable Look and Feel. Clearsilver makes it easy to face lift a site by providing a new set of templates. It is possible to easily run more than one look and feel at once, and share components with a base look and feel to reduce maintenance.

Internationalization Support. Clearsilver makes it trivial to support internationlization. You write your templates in your native language and included tools automatically extract and catalog language strings for translation.

Advanced features. Built in support for advanced features such as gzip compression, smart whitespace stripping, parametric macros, online debugging mode, url and javascript string escaping, and more.

How can I learn more?

The Clearsilver documentation explains both the theory of operation for Clearsilver itself, the C-api, and the extension module APIs.

What does Clearsilver look like?  ]
How is Clearsilver different from ASP, JSP, PHP?  ]
How does Clearsilver compare with XML/XSLT?  ]
Who is using Clearsilver?  ]
Recent News Recent Discussion
SVN Repository Available [2009-Nov-05]
After much work, I've been able to migrate the full history of Clearsilver into an SVN repository at Google Code. A new release should come soon.
Release ClearSilver 0.10.5 [2007-Jul-12]
Mostly a bugfix release, see Release Notes
Release ClearSilver 0.10.4 [2006-Nov-14]
Bugfixes, python 2.5 support and Automatic escape mode, see Release Notes
Article about using ClearSilver in embedded systems [2006-Jul-31]
Cliff Brake has an article about choosing ClearSilver for use in embedded systems where memory and processor space is at a premium. Thanks for the recommendation!
Release ClearSilver 0.10.3 [2006-Mar-12]
Another release, fixes the main configure bug in the last release, and a bunch of things you probably won't notice. Release Notes
more...
Filter at runtime - bxxx
    Hello Brandon, hello everybody, I want to filter every dataset into clearsilver hdf at runtime. OR is it possible to (override | add hook) "var" hdf function ?

clearsilver bug in cgi-parse, form posting with explicit chartset... - David Jeske
    I just ran into a bug in clearsilver that I'm surprised has existed for so long. The problem occured because Firefox is specifying a character set in the

Re: Best solution for output file directly - Brandon Long
    If you want to use the wrappers in CS, you can do something like: cgiwrap_writef("Content-Type: foo/bar\r\n"); cgiwrap_writef("Content-Length: %d\r\n\r\n",

Re: Best solution for output file directly - David Jeske
    ... Clearsilver is for producing templated-output, such as HTML. If you want to just send a file directly to the user, you just output the bytes directly

Best solution for output file directly - bxxx
    What is the best solution with clearsilver (C API of course) to send a file directly to the browser? thx

more...
ClearSilver was written by Brandon Long.
Many of the concepts behind ClearSilver are based on work by Scott Shambarger,
Paul Clegg and John Cwikla on the templating system for onelist.com and eGroups.com.
Donations in the form of Good Tequila or Chicago Pizza will be greatly appreciated by the authors.
 
Copyright © 2009 Brandon Long, All rights reserved.