blob: d8775adbdf53bff2a9170257a04b7047fb1ddfd3 [file] [log] [blame]
* Clearsilver INSTALL
* Brandon Long, David Jeske
1) Compile ------------------------------------------------
Simplest case:
# ./configure
# make
Options to configure:
--disable-compression Disables HTML Compression support
--enable-remote-debugger Enables remote X CGI debugging
--disable-apache Disables building of apache 1.3.x module
--with-apache=path Set location of Apache installation
--disable-python Disables building of python module
--with-python=path Set location of Python Includes
--disable-perl Disables building of perl module
--with-perl=path Set location of Perl binary
--disable-ruby Disables building of ruby module
--with-ruby=path Set location of Ruby binary
--disable-java Disables building of java module
--with-java=path Set location of J2SDK
--disable-csharp Disables building of csharp module
--with-csharp=path Set location of csharp
--enable-gettext Enable gettext message translation
--disable-compression: Currently, the CGI output code in the cgi
kit automatically attempts to detect whether the remote browser can
handle compressed data, and if it does, compresses the output for
text/html. This is run-time configurable via Config.CompressionEnabled.
Disabling it at compile time eliminates the dependency on libz.
--enable-remote-debugger: The CGI kit contains code for remotely
debuggin CGI programs by launching an X based debugger (such as xxgdb or
ddd) at the X display you specify in the HTTP request. There are
controls such as a configurable list of allowed displays, but remote
debugging is disabled by default.
--enable-gettext: Enables gettext message translation. Once enabled
you have a new builtin function "_(<message>)". This function calls the
function gettext (man 3 gettext).
The rest of the --disable/--with either disable a specific module, or
point ClearSilver at the right program to enable it. The configure
script will simple not build any module it can't find the right versions
of programs to build against. Alternatively, if you are making
ClearSilver part of your build environment, you can simple delete
whichever module directory you don't want, and the build will ignore it.
For information about compiling on Windows under MingW and MSYS, see
The csharp wrapper was built with Mono ( and should work
with v0.24 and later (give or take). In theory, it should be fairly
simple to get this working on MS.Net as well.
2) Install ------------------------------------------------
# make install
The make install is relatively new, and just installs the
libraries/header files (and probably the perl and python modules, but
that's a guess)
3) Example 1, Apache static.cgi ----------------------------------
"static.cgi" is a simple binary which will allow you to write static
HDF files, static ClearSilver templates, and render them. This is a
good way to get started and learn the clearsilver model and
syntax. Follow the steps below to install static.cgi into your Apache
configuration and then read the documentation while playing with
static files.
Add the following to your Apache configuration and copy the
Clearsilver static.cgi binary from cgi/static.cgi into your Apache
cgi-bin directory.
AddHandler cgi-script .cgi
Action cs-handler /cgi-bin/static.cgi
AddHandler cs-handler .cs
Since any html file is a valid CS file, I also run with:
AddHandler cs-handler .html
* About static.cgi:
static.cgi works by assuming that whatever file it was pointed at is a
CS template. It first tries to load common.hdf in the same directory,
then it tries to load some other hdf files, and then it parses and
displays the template file.
Ie, if its pointed at foo.cs, it will load common.hdf, try to load
foo.cs.hdf, if that fails, it tries foo.hdf. If the hdf defines
CGI.StaticContent, it will assume that's the real template file (which
is how we use it on, we just point at he .hdf files,
which define StaticContent as a wrapper.cs, which includes another file
defined in the .hdf file).
4) Example 2, imd image server ------------------------------------
"imd" is a simple image server written with C and clearsilver. The imd
directory has a README on how to set up imd with Apache.
5) Example 3, using with Python -----------------------------------
The clearsilver python wrapper comes with This file
contains the CSPage superclass, and this file gives some pointers on
how to use the cs handler via python. A much more thorough example
is Scott Hassan's image_server, available from