summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--conf/httpd.conf.in2
-rw-r--r--htdocs/ancestry/layout.chtml24
-rw-r--r--htdocs/exceptions/compile.chtml2
-rw-r--r--htdocs/exceptions/index.chtml4
-rw-r--r--htdocs/exceptions/preprocess.chtml2
-rw-r--r--htdocs/exceptions/runtime.chtml2
-rw-r--r--htdocs/index.chtml3
-rw-r--r--htdocs/simple.chtml2
-rw-r--r--htdocs/sources.chtml1
-rw-r--r--htdocs/style.css28
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;
+}