summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2005-02-02 22:30:27 (UTC)
committer Michael Krelin <hacker@klever.net>2005-02-02 22:30:27 (UTC)
commit870963df2dac72e433fd7f94cd1cccc8cd6ea2d0 (patch) (unidiff)
treeedb6a3f9070ca67c9396ce548f28f82107afc119
parentb9ddf0a5135cf5b3371f38b41385fa8fc03da146 (diff)
downloadsitecing-870963df2dac72e433fd7f94cd1cccc8cd6ea2d0.zip
sitecing-870963df2dac72e433fd7f94cd1cccc8cd6ea2d0.tar.gz
sitecing-870963df2dac72e433fd7f94cd1cccc8cd6ea2d0.tar.bz2
1. changed version to -svn
2. added a really simple page example 3. removed 'border=' attribute from iframe 4. added notice about svn version 5. added 'site-C-ing:' prefix to the title
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac2
-rw-r--r--htdocs/ancestry/layout.chtml12
-rw-r--r--htdocs/ancestry/page.chtml4
-rw-r--r--htdocs/ancestry/sources.chtml3
-rw-r--r--htdocs/examples/calendar.chtml101
-rw-r--r--htdocs/exceptions/compile.chtml2
-rw-r--r--htdocs/simple.chtml31
-rw-r--r--htdocs/style.css11
9 files changed, 162 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index 529f5ae..105b377 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,35 +1,36 @@
1EXTRA_DIST = \ 1EXTRA_DIST = \
2 $(addprefix htdocs/,.htaccess favicon.ico index.chtml sources.chtml style.css view.chtml) \ 2 $(addprefix htdocs/,.htaccess favicon.ico index.chtml simple.chtml sources.chtml style.css view.chtml) \
3 $(addprefix htdocs/ancestry/,.htaccess layout.chtml page.chtml sources.chtml) \ 3 $(addprefix htdocs/ancestry/,.htaccess layout.chtml page.chtml sources.chtml) \
4 $(addprefix htdocs/examples/,calendar.chtml) \
4 $(addprefix htdocs/exceptions/,index.chtml preprocess.chtml compile.chtml runtime.chtml) \ 5 $(addprefix htdocs/exceptions/,index.chtml preprocess.chtml compile.chtml runtime.chtml) \
5 $(addprefix htdocs/exceptions/development/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \ 6 $(addprefix htdocs/exceptions/development/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \
6 $(addprefix htdocs/exceptions/production/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \ 7 $(addprefix htdocs/exceptions/production/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \
7 $(addprefix htdocs/handlers/,.htaccess exception_dev exception_prod) \ 8 $(addprefix htdocs/handlers/,.htaccess exception_dev exception_prod) \
8 autogen.sh \ 9 autogen.sh \
9 NEWS NEWS.xml NEWS.xsl 10 NEWS NEWS.xml NEWS.xsl
10 11
11DISTCHECK_CONFIGURE_FLAGS=--enable-distcheck 12DISTCHECK_CONFIGURE_FLAGS=--enable-distcheck
12 13
13all-local: NEWS sitecode restart restart-apache 14all-local: NEWS sitecode restart restart-apache
14distclean-local: 15distclean-local:
15 rm -rf config.sitecing \ 16 rm -rf config.sitecing \
16 logs fastcgi-bin run cache 17 logs fastcgi-bin run cache
17 18
18NEWS: NEWS.xsl NEWS.xml 19NEWS: NEWS.xsl NEWS.xml
19 ${XSLTPROC} -o $@ NEWS.xsl NEWS.xml 20 ${XSLTPROC} -o $@ NEWS.xsl NEWS.xml
20 21
21sitecode: conf/sitecing.conf include/acconfig.h 22sitecode: conf/sitecing.conf include/acconfig.h
22 ${SHELL} bin/build 23 ${SHELL} bin/build
23restart: conf/sitecing.conf conf/dudki.conf 24restart: conf/sitecing.conf conf/dudki.conf
24if !DISTCHECKING 25if !DISTCHECKING
25if HAVE_DUDKI 26if HAVE_DUDKI
26 sudo ${SHELL} -c "@DUDKI@ -k @dudki_id@ ; sleep 3 ; @DUDKI@ -r" 27 sudo ${SHELL} -c "@DUDKI@ -k @dudki_id@ ; sleep 3 ; @DUDKI@ -r"
27else 28else
28 kill `cat run/sitecing.pid` ; sleep 3 ; ${SHELL} bin/run 29 kill `cat run/sitecing.pid` ; sleep 3 ; ${SHELL} bin/run
29endif 30endif
30endif !DISTCHECKING 31endif !DISTCHECKING
31 32
32restart-apache: conf/httpd.conf 33restart-apache: conf/httpd.conf
33if !DISTCHECKING 34if !DISTCHECKING
34 @APACHE_RESTART_CMD@ 35 @APACHE_RESTART_CMD@
35endif !DISTCHECKING 36endif !DISTCHECKING
diff --git a/configure.ac b/configure.ac
index dc1beb3..744fe50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,129 +1,129 @@
1AC_INIT([sitecing-showcase], [0.0], [sitecing-bugs@klever.net]) 1AC_INIT([sitecing-showcase], [0.0-svn], [sitecing-bugs@klever.net])
2AC_CONFIG_SRCDIR([htdocs/index.chtml]) 2AC_CONFIG_SRCDIR([htdocs/index.chtml])
3AC_CONFIG_AUX_DIR([aux]) 3AC_CONFIG_AUX_DIR([aux])
4AC_CONFIG_HEADER([include/acconfig.h]) 4AC_CONFIG_HEADER([include/acconfig.h])
5AM_INIT_AUTOMAKE([dist-bzip2]) 5AM_INIT_AUTOMAKE([dist-bzip2])
6 6
7AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) 7AC_PATH_PROG([XSLTPROC],[xsltproc],[true])
8 8
9PKG_CHECK_MODULES([SITECING],[sitecing],,[ 9PKG_CHECK_MODULES([SITECING],[sitecing],,[
10 AC_MSG_ERROR([site-C-ing not found. get it at http://kin.klever.net/sitecing/]) 10 AC_MSG_ERROR([site-C-ing not found. get it at http://kin.klever.net/sitecing/])
11]) 11])
12sitecing_prefix="$(${PKG_CONFIG} --variable=prefix sitecing)" 12sitecing_prefix="$(${PKG_CONFIG} --variable=prefix sitecing)"
13sitecing_bindir="$(${PKG_CONFIG} --variable=bindir sitecing)" 13sitecing_bindir="$(${PKG_CONFIG} --variable=bindir sitecing)"
14AC_MSG_CHECKING([for sitecing-fastcgi binary]) 14AC_MSG_CHECKING([for sitecing-fastcgi binary])
15sitecing_fastcgi="${sitecing_bindir}/sitecing-fastcgi" 15sitecing_fastcgi="${sitecing_bindir}/sitecing-fastcgi"
16if test -x "${sitecing_fastcgi}" ; then 16if test -x "${sitecing_fastcgi}" ; then
17 AC_MSG_RESULT([found ${sitecing_fastcgi}]) 17 AC_MSG_RESULT([found ${sitecing_fastcgi}])
18else 18else
19 AC_MSG_RESULT([not found]) 19 AC_MSG_RESULT([not found])
20 AC_MSG_ERROR([broken site-C-ing install detected]) 20 AC_MSG_ERROR([broken site-C-ing install detected])
21fi 21fi
22AC_MSG_CHECKING([for sitecing-build binary]) 22AC_MSG_CHECKING([for sitecing-build binary])
23sitecing_build="${sitecing_bindir}/sitecing-build" 23sitecing_build="${sitecing_bindir}/sitecing-build"
24if test -x "${sitecing_build}" ; then 24if test -x "${sitecing_build}" ; then
25 AC_MSG_RESULT([found ${sitecing_build}]) 25 AC_MSG_RESULT([found ${sitecing_build}])
26else 26else
27 AC_MSG_RESULT([not found]) 27 AC_MSG_RESULT([not found])
28 AC_MSG_ERROR([broken site-C-ing install detected]) 28 AC_MSG_ERROR([broken site-C-ing install detected])
29fi 29fi
30AC_SUBST([sitecing_prefix]) 30AC_SUBST([sitecing_prefix])
31AC_SUBST([sitecing_bindir]) 31AC_SUBST([sitecing_bindir])
32AC_SUBST([sitecing_fastcgi]) 32AC_SUBST([sitecing_fastcgi])
33AC_SUBST([sitecing_build]) 33AC_SUBST([sitecing_build])
34 34
35config_sitecing="config.sitecing" 35config_sitecing="config.sitecing"
36rm -f "${config_sitecing}" 36rm -f "${config_sitecing}"
37SC_BUILD_CONF([${config_sitecing}],[CPPFLAGS],[${SITECING_CFLAGS}]) 37SC_BUILD_CONF([${config_sitecing}],[CPPFLAGS],[${SITECING_CFLAGS}])
38SC_BUILD_CONF([${config_sitecing}],[LDFLAGS],[${SITECING_LIBS}]) 38SC_BUILD_CONF([${config_sitecing}],[LDFLAGS],[${SITECING_LIBS}])
39AC_SUBST_FILE([config_sitecing]) 39AC_SUBST_FILE([config_sitecing])
40 40
41SC_WEB_ROOT([web_src_root],[web_run_root]) 41SC_WEB_ROOT([web_src_root],[web_run_root])
42SC_USER([sitecing_user]) 42SC_USER([sitecing_user])
43 43
44AC_DEFINE_UNQUOTED([WEB_ROOT],["${web_src_root}"],[the site root]) 44AC_DEFINE_UNQUOTED([WEB_ROOT],["${web_src_root}"],[the site root])
45AC_DEFINE_UNQUOTED([WEB_SRC_ROOT],["${web_src_root}"],[the site root]) 45AC_DEFINE_UNQUOTED([WEB_SRC_ROOT],["${web_src_root}"],[the site root])
46AC_DEFINE_UNQUOTED([WEB_RUN_ROOT],["${web_run_root}"],[the site root]) 46AC_DEFINE_UNQUOTED([WEB_RUN_ROOT],["${web_run_root}"],[the site root])
47 47
48v_hostname="$(hostname)" 48v_hostname="$(hostname)"
49AC_MSG_CHECKING([for virtual host name]) 49AC_MSG_CHECKING([for virtual host name])
50AC_ARG_WITH([vhostname], 50AC_ARG_WITH([vhostname],
51 AC_HELP_STRING([--with-vhostname=virtual-host-name],[set the apache ServerName of VirtualHost]), 51 AC_HELP_STRING([--with-vhostname=virtual-host-name],[set the apache ServerName of VirtualHost]),
52 [ 52 [
53 v_hostname="${withval}" 53 v_hostname="${withval}"
54 ] 54 ]
55) 55)
56AC_MSG_RESULT([${v_hostname}]) 56AC_MSG_RESULT([${v_hostname}])
57AC_SUBST([v_hostname]) 57AC_SUBST([v_hostname])
58 58
59HAVE_DUDKI="false" 59HAVE_DUDKI="false"
60WANT_DUDKI="true" 60WANT_DUDKI="true"
61AC_ARG_ENABLE([dudki], 61AC_ARG_ENABLE([dudki],
62 AC_HELP_STRING([--disable-dudki],[disable the use of dudki! to restart daemon]), 62 AC_HELP_STRING([--disable-dudki],[disable the use of dudki! to restart daemon]),
63 [ 63 [
64 test "${enableval}" = "no" && WANT_DUDKI="false" 64 test "${enableval}" = "no" && WANT_DUDKI="false"
65 ] 65 ]
66) 66)
67if ${WANT_DUDKI} ; then 67if ${WANT_DUDKI} ; then
68 AC_PATH_PROG([DUDKI],[dudki],[false],[${PATH}:/usr/local/sbin:/usr/sbin]) 68 AC_PATH_PROG([DUDKI],[dudki],[false],[${PATH}:/usr/local/sbin:/usr/sbin])
69 test "${DUDKI}" = "false" || HAVE_DUDKI="true" 69 test "${DUDKI}" = "false" || HAVE_DUDKI="true"
70fi 70fi
71AM_CONDITIONAL([HAVE_DUDKI],[${HAVE_DUDKI}]) 71AM_CONDITIONAL([HAVE_DUDKI],[${HAVE_DUDKI}])
72 72
73dudki_id=sitecing-showcase 73dudki_id=sitecing-showcase
74AC_ARG_WITH([dudki-id], 74AC_ARG_WITH([dudki-id],
75 AC_HELP_STRING([--with-dudki-id],[specify dudki process id]), 75 AC_HELP_STRING([--with-dudki-id],[specify dudki process id]),
76 [ 76 [
77 dudki_id="${withval}" 77 dudki_id="${withval}"
78 ] 78 ]
79) 79)
80AC_SUBST([dudki_id]) 80AC_SUBST([dudki_id])
81 81
82APACHE_RESTART_CMD="false" 82APACHE_RESTART_CMD="false"
83AC_ARG_WITH([apache-restart-cmd], 83AC_ARG_WITH([apache-restart-cmd],
84 AC_HELP_STRING([--with-apache-restart-cmd=command],[use the specified command to restart apache]), 84 AC_HELP_STRING([--with-apache-restart-cmd=command],[use the specified command to restart apache]),
85 [ 85 [
86 test "${withval}" = "no" || APACHE_RESTART_CMD="${withval}" 86 test "${withval}" = "no" || APACHE_RESTART_CMD="${withval}"
87 ] 87 ]
88) 88)
89if test "${APACHE_RESTART_CMD}" = "false" ; then 89if test "${APACHE_RESTART_CMD}" = "false" ; then
90 AC_PATH_PROG([APACHECTL],[apachectl],[false],[${PATH}:/usr/sbin:/usr/local/sbin]) 90 AC_PATH_PROG([APACHECTL],[apachectl],[false],[${PATH}:/usr/sbin:/usr/local/sbin])
91 if test "${APACHECTL}" != "false" ; then 91 if test "${APACHECTL}" != "false" ; then
92 APACHE_RESTART_CMD="sudo ${APACHECTL} graceful" 92 APACHE_RESTART_CMD="sudo ${APACHECTL} graceful"
93 else 93 else
94 AC_PATH_PROG([APACHE2CTL],[apache2ctl],[false],[${PATH}:/usr/sbin:/usr/local/sbin]) 94 AC_PATH_PROG([APACHE2CTL],[apache2ctl],[false],[${PATH}:/usr/sbin:/usr/local/sbin])
95 if test "${APACHE2CTL}" != "false" ; then 95 if test "${APACHE2CTL}" != "false" ; then
96 APACHE_RESTART_CMD="sudo ${APACHE2CTL} graceful" 96 APACHE_RESTART_CMD="sudo ${APACHE2CTL} graceful"
97 else 97 else
98 for i_s in /etc/init.d/apache /etc/init.d/apache2 ; do 98 for i_s in /etc/init.d/apache /etc/init.d/apache2 ; do
99 AC_MSG_CHECKING([for ${i_s}]) 99 AC_MSG_CHECKING([for ${i_s}])
100 if test -x ${i_s} ; then 100 if test -x ${i_s} ; then
101 AC_MSG_RESULT([found]) 101 AC_MSG_RESULT([found])
102 APACHE_RESTART_CMD="sudo ${i_s} restart" 102 APACHE_RESTART_CMD="sudo ${i_s} restart"
103 break 103 break
104 fi 104 fi
105 AC_MSG_RESULT([not found]) 105 AC_MSG_RESULT([not found])
106 done 106 done
107 fi 107 fi
108 fi 108 fi
109fi 109fi
110if test "${APACHE_RESTART_CMD}" = "false" ; then 110if test "${APACHE_RESTART_CMD}" = "false" ; then
111 AC_MSG_NOTICE([couldn't figure out how to restart apache. use --with-apache-restart-cmd]) 111 AC_MSG_NOTICE([couldn't figure out how to restart apache. use --with-apache-restart-cmd])
112fi 112fi
113AC_SUBST([APACHE_RESTART_CMD]) 113AC_SUBST([APACHE_RESTART_CMD])
114 114
115 115
116AC_MSG_CHECKING([if we are in the development environment]) 116AC_MSG_CHECKING([if we are in the development environment])
117do_devel="false" 117do_devel="false"
118AC_ARG_ENABLE([development], 118AC_ARG_ENABLE([development],
119 AC_HELP_STRING([--enable-development],[enable build for development environment]), 119 AC_HELP_STRING([--enable-development],[enable build for development environment]),
120 [ 120 [
121 if test "${enableval}" = "yes" ; then 121 if test "${enableval}" = "yes" ; then
122 do_devel="true" 122 do_devel="true"
123 fi 123 fi
124 ] 124 ]
125) 125)
126build_on_demand="off" 126build_on_demand="off"
127exception_handler="/handlers/exception_prod" 127exception_handler="/handlers/exception_prod"
128if ${do_devel} ; then 128if ${do_devel} ; then
129 AC_MSG_RESULT([yes]) 129 AC_MSG_RESULT([yes])
diff --git a/htdocs/ancestry/layout.chtml b/htdocs/ancestry/layout.chtml
index 11bd74a..6147d37 100644
--- a/htdocs/ancestry/layout.chtml
+++ b/htdocs/ancestry/layout.chtml
@@ -1,35 +1,45 @@
1% html(); return; /* vim:set ft=sitecing: */ 1% html(); return; /* vim:set ft=sitecing: */
2%%derive page = "/ancestry/page.chtml"; 2%%derive page = "/ancestry/page.chtml";
3%%impl #include "acconfig.h" 3%%impl #include "acconfig.h"
4%%var bool b_svn = false;
5<%constructor>
6 if(strstr(PACKAGE_STRING,"svn"))
7 b_svn = true;
8</%constructor>
4<%method void body() %> 9<%method void body() %>
5 <div id="content"> 10 <div id="content">
6 <%code> 11 <%code>
7 if(!access(WEB_RUN_ROOT "/conf/banner_top",R_OK)) { 12 if(!access(WEB_RUN_ROOT "/conf/banner_top",R_OK)) {
8 pass_file_through(WEB_RUN_ROOT "/conf/banner_top"); 13 pass_file_through(WEB_RUN_ROOT "/conf/banner_top");
9 } 14 }
10 content(); 15 content();
11 if(b_strict && !access(WEB_RUN_ROOT "/conf/banner_bottom",R_OK)) { 16 if(b_strict && !access(WEB_RUN_ROOT "/conf/banner_bottom",R_OK)) {
12 pass_file_through(WEB_RUN_ROOT "/conf/banner_bottom"); 17 pass_file_through(WEB_RUN_ROOT "/conf/banner_bottom");
13 } 18 }
14 </%code> 19 </%code>
15 </div> 20 </div>
16 <div id="sidepanel"> 21 <div id="sidepanel">
17% sidepanel(); 22% sidepanel();
18 </div> 23 </div>
19</%method> 24</%method>
20<%method void content() %> 25<%method void content() %>
21</%method> 26</%method>
22<%method void sidepanel() %> 27<%method void sidepanel() %>
23 <h1><% PACKAGE_STRING %></h1> 28 <h1><% PACKAGE_STRING %></h1>
29% if(b_svn) {
30 <h2>The site is running source from the source repository which may differ
31 from the one available for download. You can check it out from the <a
32 href="http://kin.klever.net/sitecing/repository">source repository</a>.</h2>
33% }
24% /* thank MSIE for this awful formatting */ 34% /* thank MSIE for this awful formatting */
25 <ul><li><a href="/" title="introduction to site-C-ing">intro</a></li><li><a href="/exceptions/" title="exceptions handling">exceptions</a><ul><li><a href="/exceptions/preprocess" title="preprocessor errors">preprocess</a></li><li><a href="/exceptions/compile" title="compiler errors">compile-time</a></li><li><a href="/exceptions/runtime" title="runtime exceptions">runtime</a></li></ul></li><li><a href="/sources" title="browse this site source files">sources</a></li></ul> 35 <ul><li><a href="/" title="introduction to site-C-ing">overview</a><ul><li><a href="/simple" title="building a really simple page">simple page</a></li></ul></li><li><a href="/exceptions/" title="exceptions handling">exceptions</a><ul><li><a href="/exceptions/preprocess" title="preprocessor errors">preprocess</a></li><li><a href="/exceptions/compile" title="compiler errors">compile-time</a></li><li><a href="/exceptions/runtime" title="runtime exceptions">runtime</a></li></ul></li><li><a href="/sources" title="browse this site source files">sources</a></li></ul>
26 <%code> 36 <%code>
27 if(!access(WEB_RUN_ROOT "/conf/banner_side",R_OK)) { 37 if(!access(WEB_RUN_ROOT "/conf/banner_side",R_OK)) {
28 pass_file_through(WEB_RUN_ROOT "/conf/banner_side"); 38 pass_file_through(WEB_RUN_ROOT "/conf/banner_side");
29 } 39 }
30 </%code> 40 </%code>
31 <ul><li><a href="http://kin.klever.net/sitecing/" title="main site-C-ing page">site-C-ing</a></li><li><a href="http://kin.klever.net/sitecing/sources" title="site-C-ing download page">downloads</a></li></ul> 41 <ul><li><a href="http://kin.klever.net/sitecing/" title="main site-C-ing page">site-C-ing</a></li><li><a href="http://kin.klever.net/sitecing/sources" title="site-C-ing download page">downloads</a></li></ul>
32 <div class="copyright"> 42 <div class="copyright">
33 &copy; <a href="http://www.klever.net/">Klever Group</a> 43 &copy; <a href="http://www.klever.net/">Klever Group</a>
34 </div> 44 </div>
35</%method> 45</%method>
diff --git a/htdocs/ancestry/page.chtml b/htdocs/ancestry/page.chtml
index 28bf7f0..5bec31e 100644
--- a/htdocs/ancestry/page.chtml
+++ b/htdocs/ancestry/page.chtml
@@ -1,28 +1,28 @@
1% html(); return; /* vim:set ft=sitecing: */ 1% html(); return; /* vim:set ft=sitecing: */
2%%var bool b_strict = true; 2%%var bool b_strict = true;
3<%decl> 3<%decl>
4 using std::string; 4 using std::string;
5</%decl> 5</%decl>
6<%method void html() %> 6<%method void html() %>
7% if(b_strict){ 7% if(b_strict){
8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
9% }else{ 9% }else{
10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> 10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
11% } 11% }
12 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 12 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
13 <head> 13 <head>
14% __SCIF->headers["Content-Type"] = "text/html"; 14% __SCIF->headers["Content-Type"] = "text/html";
15 <title><% title() %></title> 15 <title>site-C-ing: <% title() %></title>
16 <meta name="copyright" content="Copyright (c) 1996-2005 Klever Group"/> 16 <meta name="copyright" content="Copyright (c) 2005 Klever Group"/>
17 <link rel="stylesheet" href="/style.css" type="text/css" /> 17 <link rel="stylesheet" href="/style.css" type="text/css" />
18 </head> 18 </head>
19 <body> 19 <body>
20% body(); 20% body();
21 </body> 21 </body>
22 </html> 22 </html>
23</%method> 23</%method>
24<%codemethod string title() %> 24<%codemethod string title() %>
25 return "untitled"; 25 return "untitled";
26</%codemethod> 26</%codemethod>
27<%method void body() %> 27<%method void body() %>
28</%method> 28</%method>
diff --git a/htdocs/ancestry/sources.chtml b/htdocs/ancestry/sources.chtml
index eb9c790..35ced64 100644
--- a/htdocs/ancestry/sources.chtml
+++ b/htdocs/ancestry/sources.chtml
@@ -1,75 +1,78 @@
1<%decl> 1<%decl>
2 typedef struct { 2 typedef struct {
3 const char *dir; 3 const char *dir;
4 const char *name; 4 const char *name;
5 const char *desc; 5 const char *desc;
6 } sourcefile_t; 6 } sourcefile_t;
7 extern sourcefile_t source_files[]; 7 extern sourcefile_t source_files[];
8 extern int source_files_count; 8 extern int source_files_count;
9</%decl> 9</%decl>
10<%impl> 10<%impl>
11 sourcefile_t source_files[] = { 11 sourcefile_t source_files[] = {
12 { "", 0, "the root" }, 12 { "", 0, "the root" },
13 { "", "configure.ac", "main configuration file" }, 13 { "", "configure.ac", "main configuration file" },
14 { "", "acinclude.m4", "autoconf macros" }, 14 { "", "acinclude.m4", "autoconf macros" },
15 { "", "autogen.sh", "shell script for building out of source repository" }, 15 { "", "autogen.sh", "shell script for building out of source repository" },
16 { "", "Makefile.am", "automake makefile template" }, 16 { "", "Makefile.am", "automake makefile template" },
17 { "", "NEWS.xml", "news since the last release (if any)" }, 17 { "", "NEWS.xml", "news since the last release (if any)" },
18 { "", "NEWS.xsl", "the styleshhet to make a plaintext version of NEWS.xml" }, 18 { "", "NEWS.xsl", "the styleshhet to make a plaintext version of NEWS.xml" },
19 { "", "COPYING", "copyright notice" }, 19 { "", "COPYING", "copyright notice" },
20 { "", "AUTHORS", "Klever dissected" }, 20 { "", "AUTHORS", "Klever dissected" },
21 { 0, 0, 0 }, 21 { 0, 0, 0 },
22 { "bin", 0, "various scripts" }, 22 { "bin", 0, "various scripts" },
23 { "bin", "build.in", "the template of the script used to precompile the code" }, 23 { "bin", "build.in", "the template of the script used to precompile the code" },
24 { "bin", "run.in", "the template of the script used to start fastcgi server" }, 24 { "bin", "run.in", "the template of the script used to start fastcgi server" },
25 { 0, 0, 0 }, 25 { 0, 0, 0 },
26 { "conf", 0, "configuration files" }, 26 { "conf", 0, "configuration files" },
27 { "conf", "dudki.conf.in", "the template for the dudki daemon configuration file" }, 27 { "conf", "dudki.conf.in", "the template for the dudki daemon configuration file" },
28 { "conf", "httpd.conf.in", "the template for the apache configuration" }, 28 { "conf", "httpd.conf.in", "the template for the apache configuration" },
29 { "conf", "sitecing.conf.in", "the template for the site-C-ing configuration" }, 29 { "conf", "sitecing.conf.in", "the template for the site-C-ing configuration" },
30 { 0, 0, 0 }, 30 { 0, 0, 0 },
31 { "htdocs", 0, "the source files" }, 31 { "htdocs", 0, "the source files" },
32 { "htdocs", ".htaccess", "apache access-control file" }, 32 { "htdocs", ".htaccess", "apache access-control file" },
33 { "htdocs", "index.chtml", "the introduction" }, 33 { "htdocs", "index.chtml", "the introduction" },
34 { "htdocs", "sources.chtml", "the source browser" }, 34 { "htdocs", "sources.chtml", "the source browser" },
35 { "htdocs", "style.css", "the CSS style sheet" }, 35 { "htdocs", "style.css", "the CSS style sheet" },
36 { "htdocs", "view.chtml", "the source viewer" }, 36 { "htdocs", "view.chtml", "the source viewer" },
37 { "htdocs/examples", 0, "examples" },
38 { "htdocs/examples", "calendar.chtml", "really simple page" },
39 { 0,0,0 },
37 { "htdocs/exceptions", 0, "exceptions handling overview" }, 40 { "htdocs/exceptions", 0, "exceptions handling overview" },
38 { "htdocs/exceptions", "index.chtml", "the overview" }, 41 { "htdocs/exceptions", "index.chtml", "the overview" },
39 { "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" }, 42 { "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" },
40 { "htdocs/exceptions", "compile.chtml", "compile-time exceptions" }, 43 { "htdocs/exceptions", "compile.chtml", "compile-time exceptions" },
41 { "htdocs/exceptions", "runtime.chtml", "runtime exceptions" }, 44 { "htdocs/exceptions", "runtime.chtml", "runtime exceptions" },
42 { "htdocs/exceptions/development", 0, "development-mode exceptions samples" }, 45 { "htdocs/exceptions/development", 0, "development-mode exceptions samples" },
43 { "htdocs/exceptions/development", ".htaccess", "apache access control file" }, 46 { "htdocs/exceptions/development", ".htaccess", "apache access control file" },
44 { "htdocs/exceptions/development", ".scrc", "site-C-ing local configuration" }, 47 { "htdocs/exceptions/development", ".scrc", "site-C-ing local configuration" },
45 { "htdocs/exceptions/development", "preprocess.chtml", "the file that can not be preprocessed" }, 48 { "htdocs/exceptions/development", "preprocess.chtml", "the file that can not be preprocessed" },
46 { "htdocs/exceptions/development", "runtime.chtml", "exception thrown at runtime" }, 49 { "htdocs/exceptions/development", "runtime.chtml", "exception thrown at runtime" },
47 { "htdocs/exceptions/development", "compile.chtml", "the file that can not be compiled" }, 50 { "htdocs/exceptions/development", "compile.chtml", "the file that can not be compiled" },
48 { "htdocs/exceptions/development", "erroneous.h", "the file to include for more errors" }, 51 { "htdocs/exceptions/development", "erroneous.h", "the file to include for more errors" },
49 { "htdocs/exceptions/development", "compile.html", "compile-time exception handler output" }, 52 { "htdocs/exceptions/development", "compile.html", "compile-time exception handler output" },
50 { 0,0,0 }, 53 { 0,0,0 },
51 { "htdocs/exceptions/production", 0, "production-mode exceptions samples" }, 54 { "htdocs/exceptions/production", 0, "production-mode exceptions samples" },
52 { "htdocs/exceptions/production", ".htaccess", "apache access control file" }, 55 { "htdocs/exceptions/production", ".htaccess", "apache access control file" },
53 { "htdocs/exceptions/production", ".scrc", "site-C-ing local configuration" }, 56 { "htdocs/exceptions/production", ".scrc", "site-C-ing local configuration" },
54 { "htdocs/exceptions/production", "preprocess.chtml", "the file that can not be preprocessed" }, 57 { "htdocs/exceptions/production", "preprocess.chtml", "the file that can not be preprocessed" },
55 { "htdocs/exceptions/production", "runtime.chtml", "exception thrown at runtime" }, 58 { "htdocs/exceptions/production", "runtime.chtml", "exception thrown at runtime" },
56 { "htdocs/exceptions/production", "compile.chtml", "the file that can not be compiled" }, 59 { "htdocs/exceptions/production", "compile.chtml", "the file that can not be compiled" },
57 { "htdocs/exceptions/production", "erroneous.h", "the file to include for more errors" }, 60 { "htdocs/exceptions/production", "erroneous.h", "the file to include for more errors" },
58 { "htdocs/exceptions/production", "compile.html", "compile-time exception handler output" }, 61 { "htdocs/exceptions/production", "compile.html", "compile-time exception handler output" },
59 { 0,0,0 }, 62 { 0,0,0 },
60 { 0,0,0 }, 63 { 0,0,0 },
61 { "htdocs/handlers", 0, "exception handlers" }, 64 { "htdocs/handlers", 0, "exception handlers" },
62 { "htdocs/handlers", ".htaccess", "apache access-control file" }, 65 { "htdocs/handlers", ".htaccess", "apache access-control file" },
63 { "htdocs/handlers", "exception_dev", "development mode exception handler" }, 66 { "htdocs/handlers", "exception_dev", "development mode exception handler" },
64 { "htdocs/handlers", "exception_prod", "production mode exception handler" }, 67 { "htdocs/handlers", "exception_prod", "production mode exception handler" },
65 { 0,0,0 }, 68 { 0,0,0 },
66 { "htdocs/ancestry", 0, "base components to build the rest upon" }, 69 { "htdocs/ancestry", 0, "base components to build the rest upon" },
67 { "htdocs/ancestry", ".htaccess", "apache access control file" }, 70 { "htdocs/ancestry", ".htaccess", "apache access control file" },
68 { "htdocs/ancestry", "page.chtml", "the xhtml skeleton" }, 71 { "htdocs/ancestry", "page.chtml", "the xhtml skeleton" },
69 { "htdocs/ancestry", "layout.chtml", "the layout for the most pages" }, 72 { "htdocs/ancestry", "layout.chtml", "the layout for the most pages" },
70 { "htdocs/ancestry", "sources.chtml", "the list of files for source browser" }, 73 { "htdocs/ancestry", "sources.chtml", "the list of files for source browser" },
71 { 0,0,0 }, 74 { 0,0,0 },
72 { 0,0,0 } 75 { 0,0,0 }
73 }; 76 };
74 int source_files_count = sizeof(source_files)/sizeof(*source_files); 77 int source_files_count = sizeof(source_files)/sizeof(*source_files);
75</%impl> 78</%impl>
diff --git a/htdocs/examples/calendar.chtml b/htdocs/examples/calendar.chtml
new file mode 100644
index 0000000..eea20cb
--- a/dev/null
+++ b/htdocs/examples/calendar.chtml
@@ -0,0 +1,101 @@
1<%impl>
2 /* vim:set ft=sitecing: */
3 #include <time.h>
4 #include <konforka/exception.h>
5</%impl>
6<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
8 <head>
9 <title>really simple page</title>
10 <style type="text/css">
11 table.calendar {
12 font-family: monospace;
13 }
14 table.calendar th.heading {
15 border: double blue 3px;
16 }
17 table.calendar td {
18 text-align: right;
19 margin: 0.5ex; padding: 2px;
20 border: solid 1px black;
21 }
22 table.calendar .wd-0, table.calendar .wd-6 {
23 color: red;
24 }
25 table.calendar td.unexistant {
26 border: none;
27 }
28 table.calendar td.today {
29 background: #ffffc0;
30 color: blue;
31 font-weight: bold;
32 }
33 </style>
34 </head>
35 <body>
36% /* Just call the calendar member function */
37% calendar();
38 </body>
39</html>
40<%method void calendar() %>
41 <%code>
42 time_t tt = time(0);
43 struct tm t;
44 if(!localtime_r(&tt,&t))
45 throw konforka::exception(CODEPOINT,"couldn't fetch current date");
46 char h[16];
47 if(strftime(h,sizeof(h),"%B, %Y",&t)>=sizeof(h))
48 throw konforka::exception(CODEPOINT,"couldn't produce heading for the calendar");
49 int today = t.tm_mday;
50 t.tm_mday = 1;
51 tt=mktime(&t);
52 if(!localtime_r(&tt,&t))
53 throw konforka::exception(CODEPOINT,"couldn't fetch current date");
54 int dim = 31;
55 if(t.tm_mon==3 || t.tm_mon==5 || t.tm_mon==8 || t.tm_mon==10) {
56 dim = 30;
57 }else if(t.tm_mon==1) {
58 dim = (t.tm_year%4)?28:29;
59 }
60 </%code>
61 <table class="calendar">
62 <tr>
63 <th class="heading" colspan="7"><% h %></th>
64 </tr>
65 <tr>
66 <th class="wd-0">Sun</th>
67 <th class="wd-1">Mon</th>
68 <th class="wd-2">Tue</th>
69 <th class="wd-3">Wed</th>
70 <th class="wd-4">Thu</th>
71 <th class="wd-5">Fri</th>
72 <th class="wd-6">Sat</th>
73 </tr>
74 <%code>
75 int dow=0; int dom=1-t.tm_wday;
76 for(;;dom++,dow=(dow+1)%7) {
77 if(!dow) {
78 <%output>
79 <tr>
80 </%output>
81 }
82 bool be = (dom>=1 && dom<=dim);
83 std::string ec = be?" existant":" unexistant";
84 if(dom==today)
85 ec+=" today";
86 <%output><td class="wd-<% dow %><% ec %>"></%output>
87 if(be) {
88 <%output><% dom %></%output>
89 }
90 <%output></td></%output>
91 if(dow==6) {
92 <%output>
93 </tr>
94 </%output>
95 if(dom>=dim)
96 break;
97 }
98 }
99 </%code>
100 </table>
101</%method>
diff --git a/htdocs/exceptions/compile.chtml b/htdocs/exceptions/compile.chtml
index 90ee7d8..aa4c8df 100644
--- a/htdocs/exceptions/compile.chtml
+++ b/htdocs/exceptions/compile.chtml
@@ -1,50 +1,50 @@
1% html(); return; /* vim:set ft=sitecing: */ 1% html(); return; /* vim:set ft=sitecing: */
2%%derive layout = "/ancestry/layout.chtml"; 2%%derive layout = "/ancestry/layout.chtml";
3<%constructor> 3<%constructor>
4 b_strict = false; 4 b_strict = false;
5</%constructor> 5</%constructor>
6<%codemethod string title() %> 6<%codemethod string title() %>
7 return "compile-time exceptions handling"; 7 return "compile-time exceptions handling";
8</%codemethod> 8</%codemethod>
9<%method void content() %> 9<%method void content() %>
10 <h1>site-C-ing compile-time exception handling</h1> 10 <h1>site-C-ing compile-time exception handling</h1>
11 <p> 11 <p>
12 Similar to <a href="/exceptions/preprocess">preprocessing exceptions</a> 12 Similar to <a href="/exceptions/preprocess">preprocessing exceptions</a>
13 there is a wide range of errors you may put into your code which will pass 13 there is a wide range of errors you may put into your code which will pass
14 through preprocessor and will be caught later at the compile-time. 14 through preprocessor and will be caught later at the compile-time.
15 </p> 15 </p>
16 <p> 16 <p>
17 Once you complete writing your <a 17 Once you complete writing your <a
18 href="/view/htdocs/exceptions/development/compile.chtml" target="insert" 18 href="/view/htdocs/exceptions/development/compile.chtml" target="insert"
19 title="the link opens in the frame below">erroneous code</a> and 19 title="the link opens in the frame below">erroneous code</a> and
20 <em>site-C-ing</em> is done preprocessing it, it will feed the preprocessed 20 <em>site-C-ing</em> is done preprocessing it, it will feed the preprocessed
21 code into c++ compiler which will refuse to compile the code like this. This 21 code into c++ compiler which will refuse to compile the code like this. This
22 is where <a href="/view/htdocs/handlers/exception_dev" target="insert" 22 is where <a href="/view/htdocs/handlers/exception_dev" target="insert"
23 title="the link opens in the frame below">the exception handler</a>, 23 title="the link opens in the frame below">the exception handler</a>,
24 specified in <a href="/view/htdocs/exceptions/development/.scrc" 24 specified in <a href="/view/htdocs/exceptions/development/.scrc"
25 target="insert" title="the link opens in the frame below">the configuration 25 target="insert" title="the link opens in the frame below">the configuration
26 file</a>, takes over the process and gives you <a 26 file</a>, takes over the process and gives you <a
27 href="/exceptions/development/compile" target="insert" title="the link opens 27 href="/exceptions/development/compile" target="insert" title="the link opens
28 in the frame below">the report</a>. Like with any handler, you may wish to 28 in the frame below">the report</a>. Like with any handler, you may wish to
29 set some <a href="/view/htdocs/handlers/exception_prod" target="insert" 29 set some <a href="/view/htdocs/handlers/exception_prod" target="insert"
30 title="the link opens in the frame below">different handler</a> in your <a 30 title="the link opens in the frame below">different handler</a> in your <a
31 href="/view/htdocs/exceptions/production/.scrc" target="insert" title="the 31 href="/view/htdocs/exceptions/production/.scrc" target="insert" title="the
32 link opens in the frame below">production configuration</a>, which just gives 32 link opens in the frame below">production configuration</a>, which just gives
33 user <a href="/exceptions/production/preprocess" target="insert" title="the 33 user <a href="/exceptions/production/preprocess" target="insert" title="the
34 link opens in the frame below">a friendly yet lame excuse</a>. 34 link opens in the frame below">a friendly yet lame excuse</a>.
35 </p> 35 </p>
36 <p class="note"> 36 <p class="note">
37 Note, that these output pages are fakes -- I do not want to spawn the 37 Note, that these output pages are fakes -- I do not want to spawn the
38 compiler each time you want to see the output and put this unnecessary load 38 compiler each time you want to see the output and put this unnecessary load
39 on cpu. These static pages are in fact saved output of the real exception 39 on cpu. These static pages are in fact saved output of the real exception
40 handlers. 40 handlers.
41 </p> 41 </p>
42 42
43 <div class="insert"> 43 <div class="insert">
44 <iframe id="insert" name="insert" src="about:blank" width="95%" height="300" border="1"> 44 <iframe id="insert" name="insert" src="about:blank" width="95%" height="300">
45 <p>I wanted to put an &lt;iframe&gt; here, but your browser does not seem to 45 <p>I wanted to put an &lt;iframe&gt; here, but your browser does not seem to
46 support it. That is okay, it still will open links somehow.</p> 46 support it. That is okay, it still will open links somehow.</p>
47 </iframe> 47 </iframe>
48 </div> 48 </div>
49 49
50</%method> 50</%method>
diff --git a/htdocs/simple.chtml b/htdocs/simple.chtml
new file mode 100644
index 0000000..9900f00
--- a/dev/null
+++ b/htdocs/simple.chtml
@@ -0,0 +1,31 @@
1% html(); return; /* vim:set ft=sitecing: */
2%%derive layout = "/ancestry/layout.chtml";
3<%constructor>
4 b_strict = false;
5</%constructor>
6<%codemethod string title() %>
7 return "simple page";
8</%codemethod>
9<%method void content() %>
10 <h1>building a really simple page</h1>
11 <p>
12 Building a really simple page is really simple. I will not go into much detail
13 here. The example provided should speak for itself.
14 </p>
15 <p>
16 The component being written doesn't do much but show you the calendar for the
17 current month. First, take a look at <a
18 href="/view/htdocs/examples/calendar.chtml" title="the link opens in the frame
19 below" target="insert">the code</a> and, after you examined it, feel free to check out
20 <a href="/examples/calendar" title="the link opens in the frame below"
21 target="insert">the output</a>.
22 </p>
23
24 <div class="insert">
25 <iframe id="insert" name="insert" src="about:blank" width="95%" height="300">
26 <p>I wanted to put an &lt;iframe&gt; here, but your browser does not seem to
27 support it. That is okay, it still will open links somehow.</p>
28 </iframe>
29 </div>
30
31</%method>
diff --git a/htdocs/style.css b/htdocs/style.css
index 01fd43a..3ab1b6f 100644
--- a/htdocs/style.css
+++ b/htdocs/style.css
@@ -1,168 +1,177 @@
1body { 1body {
2 font-family: sans-serif; 2 font-family: sans-serif;
3 font-size: 11pt; 3 font-size: 11pt;
4} 4}
5 5
6a { 6a {
7 text-decoration: none; 7 text-decoration: none;
8} 8}
9a:hover { 9a:hover {
10 text-decoration: underline; 10 text-decoration: underline;
11} 11}
12p { 12p {
13 margin: 1ex 1em; 13 margin: 1ex 1em;
14 text-indent: 2em; 14 text-indent: 2em;
15 text-align: justify; 15 text-align: justify;
16} 16}
17p.note { 17p.note {
18 margin-left: 10%; 18 margin-left: 10%;
19 border-width: 1px 1px 1px 6px; 19 border-width: 1px 1px 1px 6px;
20 border-color: gray gray gray #0000a0; 20 border-color: gray gray gray #0000a0;
21 border-style: solid solid solid double; 21 border-style: solid solid solid double;
22 padding: 1ex 1ex 1ex 2em; 22 padding: 1ex 1ex 1ex 2em;
23 font-size: 80%; 23 font-size: 80%;
24 background: #c0c0e0; 24 background: #c0c0e0;
25 color: #202020; 25 color: #202020;
26} 26}
27code { 27code {
28 color: #d04040; 28 color: #d04040;
29} 29}
30em { 30em {
31 white-space: nowrap; 31 white-space: nowrap;
32} 32}
33 33
34div.google_ad { 34div.google_ad {
35 text-align: center; 35 text-align: center;
36 margin: 1ex; 36 margin: 1ex;
37} 37}
38div.google_ad.top { 38div.google_ad.top {
39 padding-bottom: 1ex; 39 padding-bottom: 1ex;
40 border-bottom: 1px gray solid; 40 border-bottom: 1px gray solid;
41} 41}
42div.google_ad.bottom { 42div.google_ad.bottom {
43 padding-top: 1ex; 43 padding-top: 1ex;
44 border-top: 1px gray solid; 44 border-top: 1px gray solid;
45} 45}
46 46
47div#sidepanel { 47div#sidepanel {
48 position: absolute; top: 0px; left: 0px; 48 position: absolute; top: 0px; left: 0px;
49 margin: 0px; 49 margin: 0px;
50 width: 20%; 50 width: 20%;
51 font-size: 80%; 51 font-size: 80%;
52} 52}
53div#content { 53div#content {
54 position: absolute; top: 0px; right: -0px; 54 position: absolute; top: 0px; right: -0px;
55 margin: 0px; 55 margin: 0px;
56 width: 80%; 56 width: 80%;
57} 57}
58 58
59div#sidepanel h1 { 59div#sidepanel h1 {
60 font-size: 80%; 60 font-size: 80%;
61 text-align: center; 61 text-align: center;
62 font-weight: normal; 62 font-weight: normal;
63 color: #004080; 63 color: #004080;
64 white-space: nowrap; 64 white-space: nowrap;
65 margin-top: 2ex; margin-bottom: 2ex; 65 margin-top: 2ex; margin-bottom: 2ex;
66} 66}
67div#sidepanel h2 {
68 font-size: 80%;
69 text-align: justify;
70 font-weight: normal;
71 color: gray;
72 margin: 1ex 1ex;
73}
67div#sidepanel ul { 74div#sidepanel ul {
68 padding: 1ex 0.5ex 1ex 1ex; 75 padding: 1ex 0.5ex 1ex 1ex;
69 margin: 0.5ex; 76 margin: 0.5ex;
70 border-color: #c0c0c0 #404040 #404040 #c0c0c0; 77 border-color: #c0c0c0 #404040 #404040 #c0c0c0;
71 border-width: 1px 2px 2px 1px; 78 border-width: 1px 2px 2px 1px;
72 border-style: solid; 79 border-style: solid;
73 background: #d0d0d0; 80 background: #d0d0d0;
74 list-style-type: none; 81 list-style-type: none;
75} 82}
76div#sidepanel ul ul { 83div#sidepanel ul ul {
77 margin: 0px; padding: 0px; 84 margin: 0px; padding: 0px;
78 border: none 0px; 85 border: none 0px;
79} 86}
80div#sidepanel li { 87div#sidepanel li {
81 list-style-type: none; 88 list-style-type: none;
82 margin: 0px; padding: 0px; 89 margin: 0px; padding: 0px;
83 display: block; 90 display: block;
84} 91}
85div#sidepanel ul a { 92div#sidepanel ul a {
86 display: block; 93 display: block;
87 padding: 1px 1ex; 94 padding: 1px 1ex;
88 margin: 0.5ex; 95 margin: 0.5ex;
89 border: 1px solid gray; 96 border: 1px solid gray;
90 text-decoration: none; 97 text-decoration: none;
91 background: white; 98 background: white;
92 color: black; 99 color: black;
93} 100}
94div#sidepanel ul a:hover { 101div#sidepanel ul a:hover {
95 background: gray; 102 background: gray;
96 color: white; 103 color: white;
97} 104}
98div#sidepanel ul ul a { 105div#sidepanel ul ul a {
99 padding-left: 2.5ex; 106 padding-left: 2.5ex;
100 background: #e0e0e0; 107 background: #e0e0e0;
101} 108}
102div#sidepanel div.copyright { 109div#sidepanel div.copyright {
103 text-align: center; 110 text-align: center;
104} 111}
105 112
106div#content h1 { 113div#content h1 {
107 font-size: 140%; 114 font-size: 140%;
108 color: gray; 115 color: gray;
109 font-weight: bold; 116 font-weight: bold;
110 text-align: center; 117 text-align: center;
111 margin: 1em; 118 margin: 1em;
112} 119}
113 120
114div.insert { 121div.insert {
115 text-align: center; 122 text-align: center;
116} 123}
117iframe#insert { 124iframe#insert {
118 border: 1px solid black; 125 border: 1px solid black;
119} 126}
120 127
121div.source h1 { 128div.source h1 {
122 background: #e0e0e0; 129 background: #e0e0e0;
123 border: 1px solid #808080; 130 border: 1px solid #808080;
124 padding-left: 1em; 131 padding-left: 1em;
125 margin: 0px; 132 margin: 0px;
126 font-size: 100%; 133 font-size: 100%;
127 color: #000060; 134 color: #000060;
128 overflow: hidden; 135 overflow: hidden;
129} 136}
130div.source ul { 137div.source ul {
131 background: #80c0c0; 138 background: #80c0c0;
132 margin: 0px; 139 margin: 0px;
133 padding: 1px 0.5ex; 140 padding: 1px 0px;
134 font-family: monospace; 141 font-family: monospace;
135 font-size: 80%; 142 font-size: 80%;
136 overflow: hidden; 143 overflow: hidden;
144 width:100%;
137} 145}
138div.source li { 146div.source li {
139 list-style-type: none; 147 list-style-type: none;
140 white-space: nowrap; 148 white-space: nowrap;
149 margin: 0px 0.5ex;
141} 150}
142 151
143ul.sourcebrowser { 152ul.sourcebrowser {
144 font-size: 70%; 153 font-size: 70%;
145} 154}
146ul.sourcebrowser ul.dir { 155ul.sourcebrowser ul.dir {
147 padding: 1px 0px 2px 1em; 156 padding: 1px 0px 2px 1em;
148 margin: 1px 0px 1px 0px; 157 margin: 1px 0px 1px 0px;
149} 158}
150ul.sourcebrowser li.dir { 159ul.sourcebrowser li.dir {
151 margin: 1px 0px 1px 0px; 160 margin: 1px 0px 1px 0px;
152} 161}
153ul.sourcebrowser li.file { 162ul.sourcebrowser li.file {
154 list-style-type: none; 163 list-style-type: none;
155 white-space: nowrap; 164 white-space: nowrap;
156 display: inline; 165 display: inline;
157} 166}
158ul.sourcebrowser li.file a { 167ul.sourcebrowser li.file a {
159 border: 1px solid gray; 168 border: 1px solid gray;
160 padding: 1px 0.5ex; 169 padding: 1px 0.5ex;
161 text-decoration: none; 170 text-decoration: none;
162 font-family: monospace; 171 font-family: monospace;
163} 172}
164ul.sourcebrowser li.file a:hover { 173ul.sourcebrowser li.file a:hover {
165 background: gray; 174 background: gray;
166 border: 1px solid black; 175 border: 1px solid black;
167 color: white; 176 color: white;
168} 177}