'''Tcl-based Templating Engine'''
http://tcl.apache.org/rivet/ --> [http://tcl.apache.org/rivet/ | Apache Rivet] is a "templating engine" for the Tool Command Language ([Tcl]). It is implemented as an Apache 1.3 Module and thus requires the Apache Web Server version 1.3.''x'' and explicit configuration by the hosting system.
I've done some work to port Rivet to CGI (for use on [Win32], Apache 2.x for example, or any other webserver that can be similarly configured). It also allows you to take advantage of suEXEC for Rivet scripts.
Rivet/CGI Download: http://www.rkeene.org/devel/rivetcgi-0.5.0.1377.tar.gz
To use it:
1. Compile "rivet.cgi"
1. Copy "rivet.cgi" (from rivet-cgi/bin/ [http://www.rkeene.org/projects/info/resources/projects/rivet/bin/rivet.c]) to a directory that allows ExecCGI
1. Create ".htaccess" file based on "htaccess.txt" (from rivet-cgi/bin/ [http://www.rkeene.org/projects/info/resources/projects/rivet/bin/htaccess.txt]) to the root of your web directory, or put the appropriate contents in your Apache configuration
1. Copy "packages/*" to somewhere in the Tcl library search path
Additionally, Rivet/CGI now supports converting a Rivet application wholesale into a [Starkit], for distribution of a Rivet application as a single file (including supplementary resources, such as images, documents, etc). This single file (Starkit) can then be used as a CGI or (as of version 0.5.0.1346) a standalone HTTP server.
The script "rivet2starkit" is supplied to accomplish this.
I also wrote a simple script to convert simple TTML (from mod_dtcl, whose syntax is very similar to Rivet's) documents into CGI executables
I find Rivet very useful, and have built several projects using it (notably The [Tcl Web Application Framework]), but have found the requirements burdensome.
To work around this issue, I've ported Rivet to CGI: [RivetCGI]
This can be used to:
1. (Mode 1) Directly replace "mod_rivet" on any version of Apache (including suexec support); ''or''
2. (Mode 2) Create a web application that can be used as a CGI on any webserver (see below); ''or''
3. (Mode 2) Create a web application that can be used as a standalone HTTP server
In "Mode 2", it can be used to create a web application that:
1. Is a single file with all resources bundled in; ''and''
2. Is a native executable for your platform; ''and''
3. Works in either CGI or HTTP server mode depending on how it is called; ''and''
4. Requires no modification to your Rivet application
* http://resume.keene-enterprises.com/beta/ -- the included "index.cgi" is a single file with all resources (images, scripts, etc) bundled into it
Only in r25