From 870963df2dac72e433fd7f94cd1cccc8cd6ea2d0 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Wed, 02 Feb 2005 22:30:27 +0000 Subject: 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 --- diff --git a/Makefile.am b/Makefile.am index 529f5ae..105b377 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = \ - $(addprefix htdocs/,.htaccess favicon.ico index.chtml sources.chtml style.css view.chtml) \ + $(addprefix htdocs/,.htaccess favicon.ico index.chtml simple.chtml sources.chtml style.css view.chtml) \ $(addprefix htdocs/ancestry/,.htaccess layout.chtml page.chtml sources.chtml) \ + $(addprefix htdocs/examples/,calendar.chtml) \ $(addprefix htdocs/exceptions/,index.chtml preprocess.chtml compile.chtml runtime.chtml) \ $(addprefix htdocs/exceptions/development/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \ $(addprefix htdocs/exceptions/production/,.htaccess .scrc compile.chtml compile.html preprocess.chtml runtime.chtml erroneous.h) \ diff --git a/configure.ac b/configure.ac index dc1beb3..744fe50 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([sitecing-showcase], [0.0], [sitecing-bugs@klever.net]) +AC_INIT([sitecing-showcase], [0.0-svn], [sitecing-bugs@klever.net]) AC_CONFIG_SRCDIR([htdocs/index.chtml]) AC_CONFIG_AUX_DIR([aux]) AC_CONFIG_HEADER([include/acconfig.h]) 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,6 +1,11 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive page = "/ancestry/page.chtml"; %%impl #include "acconfig.h" +%%var bool b_svn = false; +<%constructor> + if(strstr(PACKAGE_STRING,"svn")) + b_svn = true; + <%method void body() %>
<%code> @@ -21,8 +26,13 @@ <%method void sidepanel() %>

<% PACKAGE_STRING %>

+% if(b_svn) { +

The site is running source from the source repository which may differ + from the one available for download. You can check it out from the source repository.

+% } % /* thank MSIE for this awful formatting */ - + <%code> if(!access(WEB_RUN_ROOT "/conf/banner_side",R_OK)) { pass_file_through(WEB_RUN_ROOT "/conf/banner_side"); 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 @@ -12,8 +12,8 @@ % __SCIF->headers["Content-Type"] = "text/html"; - <% title() %> - + site-C-ing: <% title() %> + 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 @@ -34,6 +34,9 @@ { "htdocs", "sources.chtml", "the source browser" }, { "htdocs", "style.css", "the CSS style sheet" }, { "htdocs", "view.chtml", "the source viewer" }, + { "htdocs/examples", 0, "examples" }, + { "htdocs/examples", "calendar.chtml", "really simple page" }, + { 0,0,0 }, { "htdocs/exceptions", 0, "exceptions handling overview" }, { "htdocs/exceptions", "index.chtml", "the overview" }, { "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" }, 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 @@ +<%impl> + /* vim:set ft=sitecing: */ + #include + #include + + + + + really simple page + + + +% /* Just call the calendar member function */ +% calendar(); + + +<%method void calendar() %> + <%code> + time_t tt = time(0); + struct tm t; + if(!localtime_r(&tt,&t)) + throw konforka::exception(CODEPOINT,"couldn't fetch current date"); + char h[16]; + if(strftime(h,sizeof(h),"%B, %Y",&t)>=sizeof(h)) + throw konforka::exception(CODEPOINT,"couldn't produce heading for the calendar"); + int today = t.tm_mday; + t.tm_mday = 1; + tt=mktime(&t); + if(!localtime_r(&tt,&t)) + throw konforka::exception(CODEPOINT,"couldn't fetch current date"); + int dim = 31; + if(t.tm_mon==3 || t.tm_mon==5 || t.tm_mon==8 || t.tm_mon==10) { + dim = 30; + }else if(t.tm_mon==1) { + dim = (t.tm_year%4)?28:29; + } + + + + + + + + + + + + + + + <%code> + int dow=0; int dom=1-t.tm_wday; + for(;;dom++,dow=(dow+1)%7) { + if(!dow) { + <%output> + + + } + bool be = (dom>=1 && dom<=dim); + std::string ec = be?" existant":" unexistant"; + if(dom==today) + ec+=" today"; + <%output> + if(dow==6) { + <%output> + + + if(dom>=dim) + break; + } + } + +
<% h %>
SunMonTueWedThuFriSat
+ if(be) { + <%output><% dom %> + } + <%output>
+ 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 @@ -41,7 +41,7 @@

- 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 @@ +% html(); return; /* vim:set ft=sitecing: */ +%%derive layout = "/ancestry/layout.chtml"; +<%constructor> + b_strict = false; + +<%codemethod string title() %> + return "simple page"; + +<%method void content() %> +

building a really simple page

+

+ Building a really simple page is really simple. I will not go into much detail + here. The example provided should speak for itself. +

+

+ The component being written doesn't do much but show you the calendar for the + current month. First, take a look at the code and, after you examined it, feel free to check out + the output. +

+ +
+ +
+ + diff --git a/htdocs/style.css b/htdocs/style.css index 01fd43a..3ab1b6f 100644 --- a/htdocs/style.css +++ b/htdocs/style.css @@ -64,6 +64,13 @@ div#sidepanel h1 { white-space: nowrap; margin-top: 2ex; margin-bottom: 2ex; } +div#sidepanel h2 { + font-size: 80%; + text-align: justify; + font-weight: normal; + color: gray; + margin: 1ex 1ex; +} div#sidepanel ul { padding: 1ex 0.5ex 1ex 1ex; margin: 0.5ex; @@ -130,14 +137,16 @@ div.source h1 { div.source ul { background: #80c0c0; margin: 0px; - padding: 1px 0.5ex; + padding: 1px 0px; font-family: monospace; font-size: 80%; overflow: hidden; + width:100%; } div.source li { list-style-type: none; white-space: nowrap; + margin: 0px 0.5ex; } ul.sourcebrowser { -- cgit v0.9.0.2