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, ...