-rw-r--r-- | conf/httpd.conf.in | 2 | ||||
-rw-r--r-- | htdocs/ancestry/layout.chtml | 24 | ||||
-rw-r--r-- | htdocs/exceptions/compile.chtml | 2 | ||||
-rw-r--r-- | htdocs/exceptions/index.chtml | 4 | ||||
-rw-r--r-- | htdocs/exceptions/preprocess.chtml | 2 | ||||
-rw-r--r-- | htdocs/exceptions/runtime.chtml | 2 | ||||
-rw-r--r-- | htdocs/index.chtml | 3 | ||||
-rw-r--r-- | htdocs/simple.chtml | 2 | ||||
-rw-r--r-- | htdocs/sources.chtml | 1 | ||||
-rw-r--r-- | htdocs/style.css | 28 |
10 files changed, 69 insertions, 1 deletions
diff --git a/conf/httpd.conf.in b/conf/httpd.conf.in index 5910620..2184627 100644 --- a/conf/httpd.conf.in +++ b/conf/httpd.conf.in @@ -1,13 +1,13 @@ -FastCgiExternalServer @web_run_root@/fastcgi-bin/site-c-ing -socket @web_run_root@/run/sitecing-socket +FastCgiExternalServer @web_run_root@/fastcgi-bin/site-c-ing -socket @web_run_root@/run/sitecing-socket -flush <VirtualHost *:80> ServerName @v_hostname@ DocumentRoot @web_src_root@/htdocs <Directory @web_src_root@/htdocs> AllowOverride All allow from all </Directory> <DirectoryMatch /.svn/> deny from all </DirectoryMatch> <Files .*> deny from all diff --git a/htdocs/ancestry/layout.chtml b/htdocs/ancestry/layout.chtml index 6147d37..0c167bc 100644 --- a/htdocs/ancestry/layout.chtml +++ b/htdocs/ancestry/layout.chtml @@ -1,26 +1,50 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive page = "/ancestry/page.chtml"; +<%decl> + #define PN_PREV(h,d,t) urlPrev=h; descPrev=d; titlePrev=t; + #define PN_NEXT(h,d,t) urlNext=h; descNext=d; titleNext=t; +</%decl> +%%impl #include <sitecing/util.h> %%impl #include "acconfig.h" %%var bool b_svn = false; +%%var std::string urlPrev; +%%var std::string descPrev; +%%var std::string titlePrev; +%%var std::string urlNext; +%%var std::string descNext; +%%var std::string titleNext; <%constructor> if(strstr(PACKAGE_STRING,"svn")) b_svn = true; </%constructor> +<%method void prevnext() %> +% if(urlPrev.empty() && urlNext.empty()) return; +% if(descPrev.empty() && descNext.empty()) return; + <div class="prevnext"> +% if(!(urlPrev.empty() || descPrev.empty())) { + <a class="prevnext-prev" href="<% urlPrev %>" title="<% sitecing::html_escape(titlePrev.empty()?descPrev:titlePrev) %>"><% sitecing::html_escape(descPrev) %></a> +% } +% if(!(urlNext.empty() || descNext.empty())) { + <a class="prevnext-next" href="<% urlNext %>" title="<% sitecing::html_escape(titleNext.empty()?descNext:titleNext) %>"><% sitecing::html_escape(descNext) %></a> +% } + </div> +</%method> <%method void body() %> <div id="content"> <%code> if(!access(WEB_RUN_ROOT "/conf/banner_top",R_OK)) { pass_file_through(WEB_RUN_ROOT "/conf/banner_top"); } + prevnext(); content(); if(b_strict && !access(WEB_RUN_ROOT "/conf/banner_bottom",R_OK)) { pass_file_through(WEB_RUN_ROOT "/conf/banner_bottom"); } </%code> </div> <div id="sidepanel"> % sidepanel(); </div> </%method> <%method void content() %> </%method> diff --git a/htdocs/exceptions/compile.chtml b/htdocs/exceptions/compile.chtml index aa4c8df..68dd034 100644 --- a/htdocs/exceptions/compile.chtml +++ b/htdocs/exceptions/compile.chtml @@ -1,16 +1,18 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; <%constructor> b_strict = false; + PN_PREV("/exceptions/preprocess","preprocess","preprocessing errors"); + PN_NEXT("/exceptions/runtime","runtime","runtime exceptions"); </%constructor> <%codemethod string title() %> return "compile-time exceptions handling"; </%codemethod> <%method void content() %> <h1>site-C-ing compile-time exception handling</h1> <p> Similar to <a href="/exceptions/preprocess">preprocessing exceptions</a> there is a wide range of errors you may put into your code which will pass through preprocessor and will be caught later at the compile-time. </p> <p> diff --git a/htdocs/exceptions/index.chtml b/htdocs/exceptions/index.chtml index cc0ed8a..e66620a 100644 --- a/htdocs/exceptions/index.chtml +++ b/htdocs/exceptions/index.chtml @@ -1,14 +1,18 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; +<%constructor> + PN_PREV("/simple","simple page","building a really simple page"); + PN_NEXT("/exceptions/preprocess","preprocess","preprocessing errors"); +</%constructor> <%codemethod string title() %> return "exceptions handling"; </%codemethod> <%method void content() %> <h1>site-C-ing exception handling</h1> <p> The purpose of this section is to give an overview of the <em>site-C-ing</em> exception handling mechanism. Before the web visitor can see the page each site-C-ing component goes through a few stages, namely, preprocessing, compiling and execution. Having three stages to go through also means the stages one can fail to go through and three exciting opportunities to handle different errors. diff --git a/htdocs/exceptions/preprocess.chtml b/htdocs/exceptions/preprocess.chtml index 8516139..88b8741 100644 --- a/htdocs/exceptions/preprocess.chtml +++ b/htdocs/exceptions/preprocess.chtml @@ -1,16 +1,18 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; <%constructor> b_strict = false; + PN_PREV("/exceptions","exceptions","exception handling overview"); + PN_NEXT("/exceptions/compile","compile-time","compile-time errors"); </%constructor> <%codemethod string title() %> return "preprocessor exceptions handling"; </%codemethod> <%method void content() %> <h1>site-C-ing preprocessor exception handling</h1> <p> It was one of those days when you just can't type right and can't think of what you're typing. It is not unusual that, under such circumstances, you end up with a code like <a href="/view/htdocs/exceptions/development/preprocess.chtml" target="insert" title="the link opens in the frame below">this</a> -- by the time you were diff --git a/htdocs/exceptions/runtime.chtml b/htdocs/exceptions/runtime.chtml index d0a8e14..9a72afd 100644 --- a/htdocs/exceptions/runtime.chtml +++ b/htdocs/exceptions/runtime.chtml @@ -1,16 +1,18 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; <%constructor> b_strict = false; + PN_PREV("/exceptions/compile","compile-time","compile-time errors"); + PN_NEXT("/sources","sources","source browser"); </%constructor> <%codemethod string title() %> return "runtime exceptions handling"; </%codemethod> <%method void content() %> <h1>site-C-ing runtime exception handling</h1> <p> The component may throw an exception while executing and the <em>site-C-ing</em> will gladly pass it to the handler component which will give the user appropriate output (unless it throws an exception itself, of course). Here you will see an example output provided by the handler bundled with the <em>site-C-ing</em>. diff --git a/htdocs/index.chtml b/htdocs/index.chtml index aa0979a..e8cedda 100644 --- a/htdocs/index.chtml +++ b/htdocs/index.chtml @@ -1,14 +1,17 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; +<%constructor> + PN_NEXT("/simple","simple page","building a really simple page"); +</%constructor> <%codemethod string title() %> return "introduction"; </%codemethod> <%method void content() %> <h1>introduction to site-C-ing</h1> <p> This is a sample site, which is supposed to demonstrate <em>site-C-ing</em> features. Since the <em>site-C-ing</em> is still at the early stages of development or rather proof of concept, this site is also far from being complete. I am planning to add more pages as the time permits, though. </p> <p> diff --git a/htdocs/simple.chtml b/htdocs/simple.chtml index 9900f00..845b840 100644 --- a/htdocs/simple.chtml +++ b/htdocs/simple.chtml @@ -1,16 +1,18 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; <%constructor> b_strict = false; + PN_PREV("/","overview","introduction to site-C-ing"); + PN_NEXT("/exceptions","exceptions","exception handling overview"); </%constructor> <%codemethod string title() %> return "simple page"; </%codemethod> <%method void content() %> <h1>building a really simple page</h1> <p> Building a really simple page is really simple. I will not go into much detail here. The example provided should speak for itself. </p> <p> The component being written doesn't do much but show you the calendar for the diff --git a/htdocs/sources.chtml b/htdocs/sources.chtml index b1eeed3..6341f49 100644 --- a/htdocs/sources.chtml +++ b/htdocs/sources.chtml @@ -1,20 +1,21 @@ % html(); return; /* vim:set ft=sitecing: */ %%derive layout = "/ancestry/layout.chtml"; %%derive sources = "/ancestry/sources.chtml"; <%impl> #include <sitecing/sitecing_util.h> </%impl> <%constructor> b_strict = false; + PN_PREV("/exceptions/runtime","runtime","runtime exceptions"); </%constructor> <%codemethod string title() %> return "runtime exceptions handling"; </%codemethod> <%method void content() %> <h1>browse this site sources</h1> <ul class="sourcebrowser"> % for(int n=0;n<source_files_count;n++) { % sourcefile_t& sf = source_files[n]; % if(!sf.name) { /* the beginning or the end of the directory */ % if(sf.dir) { /* the beginning */ diff --git a/htdocs/style.css b/htdocs/style.css index 3ab1b6f..83e308f 100644 --- a/htdocs/style.css +++ b/htdocs/style.css @@ -107,24 +107,28 @@ div#sidepanel ul ul a { background: #e0e0e0; } div#sidepanel div.copyright { text-align: center; } div#content h1 { font-size: 140%; color: gray; font-weight: bold; text-align: center; margin: 1em; + clear: both; +} +div#content p a { + font-weight: bold; } div.insert { text-align: center; } iframe#insert { border: 1px solid black; } div.source h1 { background: #e0e0e0; border: 1px solid #808080; @@ -166,12 +170,36 @@ ul.sourcebrowser li.file { } ul.sourcebrowser li.file a { border: 1px solid gray; padding: 1px 0.5ex; text-decoration: none; font-family: monospace; } ul.sourcebrowser li.file a:hover { background: gray; border: 1px solid black; color: white; } + +div.prevnext { + margin: 1ex; +} +div.prevnext a { + margin: 0.5ex 1em; padding: 0.2ex 0.5ex; + display: block; width: 30%; + border: solid 1px gray; + color: black; + text-decoration: none; +} +div.prevnext a.prevnext-prev { + float: left; + text-align: left; +} +div.prevnext a.prevnext-next { + float: right; + text-align: right; +} +div.prevnext a:hover { + background: gray; + border: black 1px solid; + color: white; +} |