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) (show 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.chtml37
-rw-r--r--htdocs/style.css8
7 files changed, 53 insertions, 12 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
@@ -1,52 +1,52 @@
% 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>
+ <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>
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>
<%method void sidepanel() %>
<h1><% PACKAGE_STRING %></h1>
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
@@ -39,40 +39,44 @@
{ 0,0,0 },
{ "htdocs/exceptions", 0, "exceptions handling overview" },
{ "htdocs/exceptions", "index.chtml", "the overview" },
{ "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" },
{ "htdocs/exceptions", "compile.chtml", "compile-time exceptions" },
{ "htdocs/exceptions", "runtime.chtml", "runtime exceptions" },
{ "htdocs/exceptions/development", 0, "development-mode exceptions samples" },
{ "htdocs/exceptions/development", ".htaccess", "apache access control file" },
{ "htdocs/exceptions/development", ".scrc", "site-C-ing local configuration" },
{ "htdocs/exceptions/development", "preprocess.chtml", "the file that can not be preprocessed" },
{ "htdocs/exceptions/development", "runtime.chtml", "exception thrown at runtime" },
{ "htdocs/exceptions/development", "compile.chtml", "the file that can not be compiled" },
{ "htdocs/exceptions/development", "erroneous.h", "the file to include for more errors" },
{ "htdocs/exceptions/development", "compile.html", "compile-time exception handler output" },
{ 0,0,0 },
{ "htdocs/exceptions/production", 0, "production-mode exceptions samples" },
{ "htdocs/exceptions/production", ".htaccess", "apache access control file" },
{ "htdocs/exceptions/production", ".scrc", "site-C-ing local configuration" },
{ "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 },
{ "htdocs/ancestry", 0, "base components to build the rest upon" },
{ "htdocs/ancestry", ".htaccess", "apache access control file" },
{ "htdocs/ancestry", "page.chtml", "the xhtml skeleton" },
{ "htdocs/ancestry", "layout.chtml", "the layout for the most pages" },
{ "htdocs/ancestry", "sources.chtml", "the list of files for source browser" },
{ 0,0,0 },
{ 0,0,0 }
};
int source_files_count = sizeof(source_files)/sizeof(*source_files);
</%impl>
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,30 +1,31 @@
<%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;
}
table.calendar th.heading {
border: double blue 3px;
}
table.calendar td {
text-align: right;
margin: 0.5ex; padding: 2px;
border: solid 1px black;
}
table.calendar .wd-0, table.calendar .wd-6 {
color: red;
}
table.calendar td.unexistant {
border: none;
}
table.calendar td.today {
background: #ffffc0;
color: blue;
diff --git a/htdocs/index.chtml b/htdocs/index.chtml
index e8cedda..20d34c2 100644
--- a/htdocs/index.chtml
+++ b/htdocs/index.chtml
@@ -12,38 +12,40 @@
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>
Once you download and install <a
href="http://kin.klever.net/sitecing/">site-C-ing</a> you may wish to try
this sample site for yourself. The source is available from <a
href="http://kin.klever.net/sitecing/sources">the site-C-ing download
page</a>. After you download the source code, you should configure it using
the ever so popular <code>configure</code> script. It is likely that you will
want to pass the <code>--with-vhostname</code> option to configure to name
the apache virtual host.
</p>
<p>
The configure script will generate the apache vhost configuration for you,
which you can <code>Include</code> in the main apache configuration file.
</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>
<p>
Before you download it, you may wish to <a href="/sources" title="source
browser">examine the sources</a> to learn more about how it is done.
</p>
</%method>
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
@@ -1,16 +1,17 @@
% html(); return; /* vim:set ft=sitecing: */
%%derive layout = "/ancestry/layout.chtml";
<%constructor>
PN_PREV("/exceptions/runtime","runtime","runtime exceptions");
PN_NEXT("/quickref/metasyntax","syntax","meta syntax");
</%constructor>
<%codemethod string title() %>
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
@@ -22,323 +22,350 @@
<li><a href="#qr___decl">%%decl</a></li>
<li><a href="#qr___derive">%%derive</a></li>
<li><a href="#qr__destructor">&lt;%destructor&gt;</a></li>
<li><a href="#qr__impl">&lt;%impl&gt;</a></li>
<li><a href="#qr___impl">%%impl</a></li>
<li><a href="#qr__method">&lt;%method ... &gt;</a></li>
<li><a href="#qr__output">&lt;%output&gt;</a></li>
<li><a href="#qr___pragma">%%pragma</a></li>
<li><a href="#qr___var">%%var</a></li>
</ul>
<dl class="metasyntax quickref">
% /* % */
<dt>
<a id="qr__line" name="qr__line" title="line of code">
<code>% <kbd>line of code</kbd></code>
</a>
</dt>
<dd>
<p>
Break out into the code mode for just one line.
</p>
<blockquote class="qr_sample">
+ <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;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>
</blockquote>
</dd>
% /* <% %> */
<dt>
<a id="qr__inline" name="qr__inline" title="output expression">
<code>&lt;% <kbd>expression</kbd> %&gt;</code>
</a>
</dt>
<dd>
<p>
&lt;&lt; <kbd>expression</kbd> into output stream (think c++).
</p>
<blockquote class="qr_sample">
+ <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/>
- &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>
</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>
+ <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">
+ <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">
<code>
&lt;%codemethod <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %&gt;<br/>
&nbsp;<kbd>code</kbd><br/>
&lt;/%codemethod&gt;
</code>
</a>
</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">
+ <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">
<code>
&lt;%constructor&gt;<br/>
&nbsp;<kbd>code</kbd><br/>
&lt;/%constructor&gt;
</code>
</a>
</dt>
<dd>
<p>
Provide the code for constructor.
</p>
<blockquote class="qr_sample">
+ <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">
<code>%%decl <kbd>line of code</kbd></code>
</a>
</dt>
<dt>
<a id="qr__decl" name="qr__decl" title="verbatim declaration">
<code>
&lt;%decl&gt;<br/>
&nbsp;<kbd>lines of code</kbd><br/>
&lt;/%decl&gt;
</code>
</a>
</dt>
<dd>
<p>
Put the line(s) of code into the resulting <em>.h</em> file before the
class declaration.
</p>
<blockquote class="qr_sample">
+ <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">
<code>%%derive <kbd>name</kbd> = "<kbd>base-component</kbd>";</code>
</a>
</dt>
<dd>
<p>
Inherit what is there to be inherited from the base component specified.
</p>
<blockquote class="qr_sample">
+ <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">
<code>
&lt;%destructor&gt;<br/>
&nbsp;<kbd>code</kbd><br/>
&lt;/%destructor&gt;
</code>
</a>
</dt>
<dd>
<p>
Provide the code for destructor.
</p>
<blockquote class="qr_sample">
+ <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">
<code>%%impl <kbd>line of code</kbd></code>
</a>
</dt>
<dt>
<a id="qr__impl" name="qr__impl" title="verbatim definition">
<code>
&lt;%impl&gt;<br/>
&nbsp;<kbd>lines of code</kbd><br/>
&lt;/%impl&gt;
</code>
</a>
</dt>
<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>
+ <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">
<code>
&lt;%method <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %&gt;<br/>
&nbsp;<kbd>code</kbd><br/>
&lt;/%method&gt;
</code>
</a>
</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">
+ <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">
<code>
&lt;%output&gt; <kbd>...</kbd> &lt;/%output&gt;
</code>
</a>
</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">
+ <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">
<code>
%%pragma <kbd>pragma_name</kbd><br/>
%%pragma <kbd>pragma_name</kbd>=<kbd>pragma_value</kbd>
</code>
</a>
</dt>
<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">
+ <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">
+ <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
@@ -193,64 +193,70 @@ ul.sourcebrowser li.file a:hover {
}
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;
+ 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;
}