summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2005-04-02 17:12:01 (UTC)
committer Michael Krelin <hacker@klever.net>2005-04-02 17:12:01 (UTC)
commit0234b0ae9ba19a37771a8e7d519137fa811c206c (patch) (side-by-side diff)
tree0ea91c13e615a7abf70ad6d3ccdda7cacb97dd56
parent1a234a03b327b20bf7490c696ebc41a9d65117ac (diff)
downloadsitecing-0234b0ae9ba19a37771a8e7d519137fa811c206c.zip
sitecing-0234b0ae9ba19a37771a8e7d519137fa811c206c.tar.gz
sitecing-0234b0ae9ba19a37771a8e7d519137fa811c206c.tar.bz2
1. minor changes to CSS
2. arrows added to walkthrough navigation 3. added new files to the list of sources 4. extra div-s added to metasytnax for the sake of validity 5. hyperlink added to the reference index page 6. changed the note about fastcgi being the only supported inface 7. flushing added to calendar for a bit of performance analysis.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--htdocs/ancestry/layout.chtml4
-rw-r--r--htdocs/ancestry/sources.chtml4
-rw-r--r--htdocs/examples/calendar.chtml1
-rw-r--r--htdocs/index.chtml8
-rw-r--r--htdocs/quickref/index.chtml3
-rw-r--r--htdocs/quickref/metasyntax.chtml193
-rw-r--r--htdocs/style.css8
7 files changed, 131 insertions, 90 deletions
diff --git a/htdocs/ancestry/layout.chtml b/htdocs/ancestry/layout.chtml
index df34ad7..4551d04 100644
--- a/htdocs/ancestry/layout.chtml
+++ b/htdocs/ancestry/layout.chtml
@@ -19,16 +19,16 @@
</%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>
+ <a class="prevnext-prev" href="<% urlPrev %>" title="<% sitecing::html_escape(titlePrev.empty()?descPrev:titlePrev) %>">&#9668;&nbsp;&nbsp;<% 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>
+ <a class="prevnext-next" href="<% urlNext %>" title="<% sitecing::html_escape(titleNext.empty()?descNext:titleNext) %>"><% sitecing::html_escape(descNext) %>&nbsp;&nbsp;&#9658;</a>
% }
</div>
</%method>
<%method void body() %>
<div id="content">
<%code>
diff --git a/htdocs/ancestry/sources.chtml b/htdocs/ancestry/sources.chtml
index 35ced64..1d9fcc9 100644
--- a/htdocs/ancestry/sources.chtml
+++ b/htdocs/ancestry/sources.chtml
@@ -57,12 +57,16 @@
{ "htdocs/exceptions/production", "preprocess.chtml", "the file that can not be preprocessed" },
{ "htdocs/exceptions/production", "runtime.chtml", "exception thrown at runtime" },
{ "htdocs/exceptions/production", "compile.chtml", "the file that can not be compiled" },
{ "htdocs/exceptions/production", "erroneous.h", "the file to include for more errors" },
{ "htdocs/exceptions/production", "compile.html", "compile-time exception handler output" },
{ 0,0,0 },
+ { "htdocs/quickref", 0, "reference documentation" },
+ { "htdocs/quickref", "index.chtml", "the overview" },
+ { "htdocs/quickref", "metasyntax.chtml", "component meta syntax quick reference" },
+ { 0,0,0 },
{ 0,0,0 },
{ "htdocs/handlers", 0, "exception handlers" },
{ "htdocs/handlers", ".htaccess", "apache access-control file" },
{ "htdocs/handlers", "exception_dev", "development mode exception handler" },
{ "htdocs/handlers", "exception_prod", "production mode exception handler" },
{ 0,0,0 },
diff --git a/htdocs/examples/calendar.chtml b/htdocs/examples/calendar.chtml
index eea20cb..85aa7ba 100644
--- a/htdocs/examples/calendar.chtml
+++ b/htdocs/examples/calendar.chtml
@@ -1,12 +1,13 @@
<%impl>
/* vim:set ft=sitecing: */
#include <time.h>
#include <konforka/exception.h>
</%impl>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+% __SCIF->flush();
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>really simple page</title>
<style type="text/css">
table.calendar {
font-family: monospace;
diff --git a/htdocs/index.chtml b/htdocs/index.chtml
index e8cedda..20d34c2 100644
--- a/htdocs/index.chtml
+++ b/htdocs/index.chtml
@@ -30,15 +30,17 @@
</p>
<p class="note">
Note, that the configuration is tailored for apache 2.x. It is no problem to
get it working with apache 1.3.x, although I haven't tried and so I am not
sure if it will run out of the box (your patches are <a
href="mailto:sitecing-patches@klever.net">welcome</a>). Also note that you
- will need <a href="http://fastcgi.com/">mod_fastcgi</a> apache module, which
- is the only CGI-interface supported by the <em>site-C-ing</em> engine at the
- moment.
+ may need <a href="http://fastcgi.com/">mod_fastcgi</a> apache module,
+ although now that fastcgi is not the only supported interface you may get the
+ thing running with 'plain' CGI with a bit of tweaking. Again, if you got it
+ working without breaking the fastcgi part your patches are <a
+ href="mailto:sitecing-patches@klever.net">welcome</a>.
</p>
<p>
Once you get it all done you will want to restart your apache and start the
<em>site-C-ing</em> fastcgi server by issuing the <code>make restart</code>
command.
</p>
diff --git a/htdocs/quickref/index.chtml b/htdocs/quickref/index.chtml
index 20ef217..d139190 100644
--- a/htdocs/quickref/index.chtml
+++ b/htdocs/quickref/index.chtml
@@ -8,9 +8,10 @@
return "quick reference";
</%codemethod>
<%method void content() %>
<h1>site-C-ing quick reference</h1>
<p>
I am hoping to put together some quick reference documentation here. For now,
- I am adding the component meta-syntax quick reference.
+ I am adding the <a href="/quickref/metasyntax">component meta-syntax quick
+ reference</a>.
</p>
</%method>
diff --git a/htdocs/quickref/metasyntax.chtml b/htdocs/quickref/metasyntax.chtml
index a63f596..4efc37c 100644
--- a/htdocs/quickref/metasyntax.chtml
+++ b/htdocs/quickref/metasyntax.chtml
@@ -40,18 +40,20 @@
</dt>
<dd>
<p>
Break out into the code mode for just one line.
</p>
<blockquote class="qr_sample">
- &nbsp;&lt;body&gt;<br/>
- <em><a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/></em>
- &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
- &nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
- <em><a href="#qr__line" title="% description">%</a> }<br/></em>
- &nbsp;&lt;/body&gt;
+ <div>
+ &nbsp;&lt;body&gt;<br/>
+ &nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
+ <em><a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/></em>
+ &nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
+ <em><a href="#qr__line" title="% description">%</a> }<br/></em>
+ &nbsp;&lt;/body&gt;
+ </div>
</blockquote>
</dd>
% /* <% %> */
<dt>
<a id="qr__inline" name="qr__inline" title="output expression">
@@ -60,40 +62,45 @@
</dt>
<dd>
<p>
&lt;&lt; <kbd>expression</kbd> into output stream (think c++).
</p>
<blockquote class="qr_sample">
- <a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/>
- &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
- <em>&nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/></em>
- <a href="#qr__line" title="% description">%</a> }
+ <div>
+ &nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
+ <a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/>
+ <em>&nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/></em>
+ <a href="#qr__line" title="% description">%</a> }
+ </div>
</blockquote>
</dd>
% /* %code */
<dt>
<a id="qr__code" name="qr__code" title="switching to code mode">
<code>
&lt;%code&gt; <kbd>...</kbd> &lt;/%code&gt;
</code>
</a>
</dt>
<dd>
- Escape from the output mode to code mode. Opposite to <code><a href="#qr__output" title="&lt;%output&gt; description">&lt;%output&gt;</a></code>. Roughly the same as <code><a href="#qr__output" title="&lt;%output&gt; description">&lt;/%output&gt;</a> <kbd>...</kbd> <a href="#qr__output" title="&lt;%output&gt; description">&lt;%output&gt;</a></code> (note the reverse order), but more self-explanatory and applies to more cases.
+ <p>
+ Escape from the output mode to code mode. Opposite to <code><a href="#qr__output" title="&lt;%output&gt; description">&lt;%output&gt;</a></code>. Roughly the same as <code><a href="#qr__output" title="&lt;%output&gt; description">&lt;/%output&gt;</a> <kbd>...</kbd> <a href="#qr__output" title="&lt;%output&gt; description">&lt;%output&gt;</a></code> (note the reverse order), but more self-explanatory and applies to more cases.
</p>
<blockquote class="qr_sample">
- &lt;body&gt;<br/>
- <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;%code&gt;</a><br/></em>
- &nbsp;&nbsp;for(int t=0;t&lt;10;t++) {<br/>
- &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
- &nbsp;&nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
- &nbsp;&nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
- &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/>
- <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;/%code&gt;</a><br/></em>
- &lt;/body&gt;
+ <div>
+ &lt;body&gt;<br/>
+ <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;%code&gt;</a><br/></em>
+ &nbsp;&nbsp;for(int t=0;t&lt;10;t++) {<br/>
+ &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
+ &nbsp;&nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
+ &nbsp;&nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
+ &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/>
+ <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;/%code&gt;</a><br/></em>
+ &lt;/body&gt;
+ </div>
</blockquote>
</dd>
% /* %codemethod */
<dt>
<a id="qr__codemethod" name="qr__codemethod" title="member function definition">
@@ -106,16 +113,18 @@
</dt>
<dd>
<p>
Define the member function. Essentially equivalent to <code><a href="#qr__method" title="&lt;%method ... %&gt; description" class="internal">&lt;%method</a> <kbd>...</kbd> <a href="#qr__method" title="&lt;%method ... %&gt; description" class="internal">%&gt;</a><a href="#qr__code" title="&lt;%code&gt; description" class="internal">&lt;%code&gt;</a> <kbd>...</kbd> <a href="#qr__code" title="&lt;%code&gt; description" class="internal">&lt;/%code&gt;</a><a href="#qr__method" title="&lt;%method ... %&gt; description" class="internal">&lt;/%method&gt;</a></code>.
</p>
<blockquote class="qr_sample">
- <em><a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;%codemethod</a> std::string ua() <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">%&gt;</a><br/>
- &nbsp;return __CGI-&gt;get_meta("USER_AGENT");<br/>
- <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/></em>
- The user agent is: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> ua() <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
+ <div>
+ <em><a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;%codemethod</a> std::string ua() <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">%&gt;</a><br/>
+ &nbsp;return __CGI-&gt;get_meta("USER_AGENT");<br/>
+ <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/></em>
+ The user agent is: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> ua() <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
+ </div>
</blockquote>
</dd>
% /* %constructor */
<dt>
<a id="qr__constructor" name="qr__constructor" title="constructor code">
@@ -128,16 +137,18 @@
</dt>
<dd>
<p>
Provide the code for constructor.
</p>
<blockquote class="qr_sample">
- <a href="#qr___var" title="%%var description">%%var</a> bool is_msie;<br/>
- <em><a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
- &nbsp;is_msie = (__CGI-&gt;get_meta("USER_AGENT").find("MSIE")!=string::npos);<br/>
- <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/></em>
+ <div>
+ <a href="#qr___var" title="%%var description">%%var</a> bool is_msie;<br/>
+ <em><a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
+ &nbsp;is_msie = (__CGI-&gt;get_meta("USER_AGENT").find("MSIE")!=string::npos);<br/>
+ <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/></em>
+ </div>
</blockquote>
</dd>
% /* %decl / %%decl */
<dt>
<a id="qr___decl" name="qr___decl" title="verbatim declaration">
@@ -156,20 +167,22 @@
<dd>
<p>
Put the line(s) of code into the resulting <em>.h</em> file before the
class declaration.
</p>
<blockquote class="qr_sample">
- <em><a href="#qr___decl" title="%%decl description">%%decl</a> #include &lt;string&gt;<br/></em>
- <a href="#qr___var" title="%%var description">%%var</a> std::string str = "default"<br/>
- <em><a href="#qr__decl" title="&lt;%decl&gt; description">&lt;%decl&gt;</a><br/>
- &nbsp;typedef int integer_t;<br/>
- <a href="#qr__decl" title="&lt;%decl&gt; description">&lt;/%decl&gt;</a><br/></em>
- <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;%method</a> void do_nothing(integer_t input) <a href="#qr__method" title="&lt;%method ... %&gt; description">%&gt;</a><br/>
- &nbsp;nothing is done<br/>
- <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a>
+ <div>
+ <em><a href="#qr___decl" title="%%decl description">%%decl</a> #include &lt;string&gt;<br/></em>
+ <a href="#qr___var" title="%%var description">%%var</a> std::string str = "default"<br/>
+ <em><a href="#qr__decl" title="&lt;%decl&gt; description">&lt;%decl&gt;</a><br/>
+ &nbsp;typedef int integer_t;<br/>
+ <a href="#qr__decl" title="&lt;%decl&gt; description">&lt;/%decl&gt;</a><br/></em>
+ <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;%method</a> void do_nothing(integer_t input) <a href="#qr__method" title="&lt;%method ... %&gt; description">%&gt;</a><br/>
+ &nbsp;nothing is done<br/>
+ <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a>
+ </div>
</blockquote>
</dd>
% /* %%derive */
<dt>
<a id="qr___derive" name="qr___derive" title="base class(es) specification">
@@ -178,14 +191,16 @@
</dt>
<dd>
<p>
Inherit what is there to be inherited from the base component specified.
</p>
<blockquote class="qr_sample">
- <em><a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/></em>
- <a href="#qr__line" title="% description">%</a> pagelayout::member_function();
+ <div>
+ <em><a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/></em>
+ <a href="#qr__line" title="% description">%</a> pagelayout::member_function();
+ </div>
</blockquote>
</dd>
% /* %destructor */
<dt>
<a id="qr__destructor" name="qr__destructor" title="destructor code">
@@ -198,19 +213,21 @@
</dt>
<dd>
<p>
Provide the code for destructor.
</p>
<blockquote class="qr_sample">
- <a href="#qr___var" title="%%var description">%%var</a> type_t *tmp = 0;<br/>
- <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
- &nbsp;tmp = new type_t(type_t::option_1);<br/>
- <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/>
- <em><a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;%destructor&gt;</a><br/>
- &nbsp;delete tmp;<br/>
- <a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;/%destructor&gt;</a><br/></em>
+ <div>
+ <a href="#qr___var" title="%%var description">%%var</a> type_t *tmp = 0;<br/>
+ <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
+ &nbsp;tmp = new type_t(type_t::option_1);<br/>
+ <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/>
+ <em><a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;%destructor&gt;</a><br/>
+ &nbsp;delete tmp;<br/>
+ <a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;/%destructor&gt;</a><br/></em>
+ </div>
</blockquote>
</dd>
% /* %impl / %%impl */
<dt>
<a id="qr___impl" name="qr__impl" title="verbatim definition">
@@ -229,31 +246,33 @@
<dd>
<p>
Put the line(s) of code into the resulting <em>.cc</em> implementation file
before any members definitions.
</p>
<blockquote class="qr_sample">
- <em><a href"#qr___impl" title="%%impl description">%%impl</a> #include &lt;string.h&gt;<br/></em>
- <a href="#qr__method" title="&lt;%method ... %gt; description">&lt;%method</a> void output_if_contains(const char *haystack,const char *needle) <a href="#qr__method" title="&lt;%method ... %gt; description">%&gt;</a><br/>
- <a href="#qr__line" title="% description">%</a> if(strstr(haystack,needle)) {<br/>
- &nbsp;&nbsp;&nbsp;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> haystack <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
- <a href="#qr__line" title="% description">%</a> }<br/>
- <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
- <em><a href="#qr__impl" title="&lt;%impl&gt; description">&lt;%impl&gt;</a><br/>
- &nbsp;#include &lt;konforka/exception.h&gt;
- &nbsp;static const char *tokens[] = {<br/>
- &nbsp;&nbsp;"token 1", "token 2", "token 3"<br/>
- &nbsp;};<br/>
- <a href="#qr__impl" title="&lt;%impl&gt; description">&lt;/%impl&gt;</a><br/></em>
- <a href="#qr__method" title="&lt;%method ... %gt; description">&lt;%method</a> void output_token(int toknum) <a href="#qr__method" title="&lt;%method ... %gt; description">%&gt;</a><br/>
- &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;%code&gt;</a><br/>
- &nbsp;&nbsp;if(toknum&lt;0 || toknum&gt;=(sizeof(tokens)/sizeof(*tokens)))<br/>
- &nbsp;&nbsp;&nbsp;throw konforka::exception(CODEPOINT,"out of bounds");<br/>
- &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;/%code&gt;</a><br/>
- &nbsp;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> tokens[toknum] <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
- <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
+ <div>
+ <em><a href="#qr___impl" title="%%impl description">%%impl</a> #include &lt;string.h&gt;<br/></em>
+ <a href="#qr__method" title="&lt;%method ... %gt; description">&lt;%method</a> void output_if_contains(const char *haystack,const char *needle) <a href="#qr__method" title="&lt;%method ... %gt; description">%&gt;</a><br/>
+ <a href="#qr__line" title="% description">%</a> if(strstr(haystack,needle)) {<br/>
+ &nbsp;&nbsp;&nbsp;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> haystack <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
+ <a href="#qr__line" title="% description">%</a> }<br/>
+ <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
+ <em><a href="#qr__impl" title="&lt;%impl&gt; description">&lt;%impl&gt;</a><br/>
+ &nbsp;#include &lt;konforka/exception.h&gt;
+ &nbsp;static const char *tokens[] = {<br/>
+ &nbsp;&nbsp;"token 1", "token 2", "token 3"<br/>
+ &nbsp;};<br/>
+ <a href="#qr__impl" title="&lt;%impl&gt; description">&lt;/%impl&gt;</a><br/></em>
+ <a href="#qr__method" title="&lt;%method ... %gt; description">&lt;%method</a> void output_token(int toknum) <a href="#qr__method" title="&lt;%method ... %gt; description">%&gt;</a><br/>
+ &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;%code&gt;</a><br/>
+ &nbsp;&nbsp;if(toknum&lt;0 || toknum&gt;=(sizeof(tokens)/sizeof(*tokens)))<br/>
+ &nbsp;&nbsp;&nbsp;throw konforka::exception(CODEPOINT,"out of bounds");<br/>
+ &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;/%code&gt;</a><br/>
+ &nbsp;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> tokens[toknum] <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
+ <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
+ </div>
</blockquote>
</dd>
% /* %method */
<dt>
<a id="qr__method" name="qr__method" title="member function definition">
@@ -266,16 +285,18 @@
</dt>
<dd>
<p>
Define the member function. Essentially equivalent to <code><a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description" class="internal">&lt;%codemethod</a> <kbd>...</kbd> <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description" class="internal">%&gt;</a><a href="#qr__output" title="&lt;%output&gt; description" class="internal">&lt;%output&gt;</a> <kbd>...</kbd> <a href="#qr__output" title="&lt;%output&gt; description" class="internal">&lt;/%output&gt;</a><a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description" class="internal">&lt;/%codemethod&gt;</a></code>.
</p>
<blockquote class="qr_sample">
- <em><a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;%method</a> void emphasized(const char *t) <a href="#qr__method" title="&lt;%method ... %&gt; description">%&gt;</a><br/>
- &nbsp;&lt;em&gt;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;/em&gt;<br/>
- <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%method&gt;</a><br/></em>
- <a href="#qr__line" title="% description">%</a> emphasized("emphasized text");
+ <div>
+ <em><a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;%method</a> void emphasized(const char *t) <a href="#qr__method" title="&lt;%method ... %&gt; description">%&gt;</a><br/>
+ &nbsp;&lt;em&gt;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;/em&gt;<br/>
+ <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%method&gt;</a><br/></em>
+ <a href="#qr__line" title="% description">%</a> emphasized("emphasized text");
+ </div>
</blockquote>
</dd>
% /* %output */
<dt>
<a id="qr__output" name="qr__output" title="switching to output mode">
@@ -286,20 +307,22 @@
</dt>
<dd>
<p>
Escape from the code mode to output mode. Opposite to <code><a href="#qr__code" title="&lt;%code&gt; description">&lt;%code&gt;</a></code>. Roughly the same as <code><a href="#qr__code" title="&lt;%code&gt; description">&lt;/%code&gt;</a> <kbd>...</kbd> <a href="#qr__code" title="&lt;%code&gt; description">&lt;%code&gt;</a></code> (note the reverse order), but more self-explanatory and applies to more cases.
</p>
<blockquote class="qr_sample">
- <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;%codemethod</a> void count() <a href="#qr__codemethod" title="&lt;%codemethod ... &gt; description">%&gt;</a><br/>
- &nbsp;for(int t=0;t&lt;10;t++) {<br/>
- <em>&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
- &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
- &nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
- &nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/></em>
- <a href="#qr__codemethod" title="&lt;/%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/>
- <a href="#qr__line" title="% description">%</a> count();
+ <div>
+ <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;%codemethod</a> void count() <a href="#qr__codemethod" title="&lt;%codemethod ... &gt; description">%&gt;</a><br/>
+ &nbsp;for(int t=0;t&lt;10;t++) {<br/>
+ <em>&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
+ &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
+ &nbsp;&nbsp;&nbsp;Just saying out loud: <a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> t <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a>&lt;br/&gt;<br/>
+ &nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/></em>
+ <a href="#qr__codemethod" title="&lt;/%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/>
+ <a href="#qr__line" title="% description">%</a> count();
+ </div>
</blockquote>
</dd>
% /* %%pragma */
<dt>
<a id="qr___pragma" name="qr___pragma" title="pragma">
@@ -312,33 +335,37 @@
<dd>
<p>provide pseudo instructions to the preprocessor. At this time only pragma
named <code>main</code> is defined, which instructs preprocessor to discard
the 'main' member that would be generated for the component and call the
<code>main</code> member of the named base class.</p>
<blockquote class="qr_sample">
- <a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/>
- <em><a href="#qr___pragma" title="%%pragma description">%%pragma</a> main=pagelayout</em>
+ <div>
+ <a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/>
+ <em><a href="#qr___pragma" title="%%pragma description">%%pragma</a> main=pagelayout</em>
+ </div>
</blockquote>
</dd>
% /* %%var */
<dt>
<a id="qr___var" name="qr___var" title="member variable declaration">
- <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd>;<br/>
- <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd> = <kbd>initalizer</kbd>;<br/>
+ <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd>;</code><br/>
+ <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd> = <kbd>initalizer</kbd>;</code><br/>
</a>
</dt>
<dd>
<p>
Define the member variable with optional default value (suitable for
putting into the <code>: <kbd>varname</kbd>(<kbd>initializer</kbd>)</code>
part of the c++ constructor.
</p>
<blockquote class="qr_sample">
- <em><a href="#qr___var" title="%%var description">%%var</a> std::string strval = "default value";<br/>
- <a href="#qr___var" title="%%var description">%%var</a> int usecount = 0;<br/>
- <a href="#qr___var" title="%%var description">%%var</a> int whatnot;</em>
+ <div>
+ <em><a href="#qr___var" title="%%var description">%%var</a> std::string strval = "default value";<br/>
+ <a href="#qr___var" title="%%var description">%%var</a> int usecount = 0;<br/>
+ <a href="#qr___var" title="%%var description">%%var</a> int whatnot;</em>
+ </div>
</blockquote>
</dd>
</dl>
</%method>
diff --git a/htdocs/style.css b/htdocs/style.css
index 96e4c59..28aa8df 100644
--- a/htdocs/style.css
+++ b/htdocs/style.css
@@ -211,46 +211,52 @@ div.prevnext a.prevnext-next {
text-align: right;
}
div.prevnext a:hover {
background: gray;
border: black 1px solid;
color: white;
+ text-decoration: none;
}
ul.quickref.toc {
margin: 1em 20%;
font-size: 90%;
border: solid 1px gray;
}
dl.quickref {
margin: 1ex 1em;
+ overflow: hidden;
}
dl.quickref dt {
margin: 0.4ex;
padding: 2px 0.5ex;
background: #e0e0e0;
display: compact;
}
dl.quickref dd {
margin: 0px 0.4ex 0.4ex 10%;
padding: 0px;
- border: 1px solid grey;
+ border: 1px solid gray;
+ overflow: hidden;
}
dl.quickref code kbd {
font-style: italic;
color: #0000c0;
}
dl.quickref blockquote {
background: #ffffc0;
padding: 4px;
border: dotted 1px gray;
font-family: monospace;
+ font-size: 90%;
+ overflow: hidden;
}
dl.quickref blockquote em {
display: block;
font-family: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
font-style: inherit !important;
background: #ffc0c0;
+ overflow: hidden;
}