Currently (0.9.4) it looks like that :


#include <stdio.h>
#include <taiga.h>

int
main (int ac, char **av)
{
        TgDataHandle *t;
	TgConfHandle *config;

	/* create the base configuration */
	config = tg_createconfhandle();
	config->enable_stats = 1;
	config->webmaster_email = tg_set("tamentis@neopulsar.org");
	config->dbuser = tg_set("neopulsar");
	config->dbpass = tg_set("xxxxxxxxx");
	/* etc.. and so on... */

	/* initialize the taiga handler with this configuration */
	t = tg_init(config);

	/* Mount URLs to files, database entries, functions ... */
	tg_mount_file(t, "Home", "Da Title", "home_menu", "Home");
	/* etc.. all the possible urls */

	tg_render(t);
	tg_release(t);

	return 0;
}


tg_mount_file will simply mount an url : http://neopulsar.org/Home with 
a specific title (Da Title), you can load a sub-menu (or NULL), and the
name of the .html file that will be loaded when this url is called.

You can mount preloaded modules, for example :
	tg_mount_module(t, "Log", "Log", NULL, "log");
will be used to load the log viewer in a possible Administration backsite.

You can mount database entries, or C functions also. If you are not happy
with a static URL, you can also use regex :
	tg_bind_regex_to_func(tsh, "^Video_[:digit:]*", "title", NULL, videofunc);
Each time somebody use the url with Video_ and digits, it will load the
videofunc() function.

Taiga comes with a few modules, like a basic log/blog, link editor, a few
administration tools. A lot of string tools (email validity checker, cat,
regex, ...