summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2005-04-01 22:23:54 (UTC)
committer Michael Krelin <hacker@klever.net>2005-04-01 22:23:54 (UTC)
commit8e7ab6661815e333ee9377c2655a03aee89372c2 (patch) (unidiff)
tree9bd424c20665b85a46ba26e38a7504ed7ad7cf68
parentd379841850daab4693d596784b790b13e20e3a03 (diff)
downloadsitecing-8e7ab6661815e333ee9377c2655a03aee89372c2.zip
sitecing-8e7ab6661815e333ee9377c2655a03aee89372c2.tar.gz
sitecing-8e7ab6661815e333ee9377c2655a03aee89372c2.tar.bz2
added a quick reference section
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--htdocs/ancestry/layout.chtml2
-rw-r--r--htdocs/exceptions/runtime.chtml2
-rw-r--r--htdocs/quickref/index.chtml16
-rw-r--r--htdocs/quickref/metasyntax.chtml344
-rw-r--r--htdocs/sources.chtml2
-rw-r--r--htdocs/style.css55
6 files changed, 416 insertions, 5 deletions
diff --git a/htdocs/ancestry/layout.chtml b/htdocs/ancestry/layout.chtml
index 0c167bc..df34ad7 100644
--- a/htdocs/ancestry/layout.chtml
+++ b/htdocs/ancestry/layout.chtml
@@ -56,7 +56,7 @@
56 href="http://kin.klever.net/sitecing/repository">source repository</a>.</h2> 56 href="http://kin.klever.net/sitecing/repository">source repository</a>.</h2>
57% } 57% }
58% /* thank MSIE for this awful formatting */ 58% /* thank MSIE for this awful formatting */
59 <ul><li><a href="/" title="introduction to site-C-ing">overview</a><ul><li><a href="/simple" title="building a really simple page">simple page</a></li></ul></li><li><a href="/exceptions/" title="exceptions handling">exceptions</a><ul><li><a href="/exceptions/preprocess" title="preprocessor errors">preprocess</a></li><li><a href="/exceptions/compile" title="compiler errors">compile-time</a></li><li><a href="/exceptions/runtime" title="runtime exceptions">runtime</a></li></ul></li><li><a href="/sources" title="browse this site source files">sources</a></li></ul> 59 <ul><li><a href="/" title="introduction to site-C-ing">overview</a><ul><li><a href="/simple" title="building a really simple page">simple page</a></li></ul></li><li><a href="/exceptions/" title="exceptions handling">exceptions</a><ul><li><a href="/exceptions/preprocess" title="preprocessor errors">preprocess</a></li><li><a href="/exceptions/compile" title="compiler errors">compile-time</a></li><li><a href="/exceptions/runtime" title="runtime exceptions">runtime</a></li></ul></li><li><a href="/quickref/" title="quick reference">reference</a><ul><li><a href="/quickref/metasyntax" title="meta syntax">syntax</a></li></ul></li><li><a href="/sources" title="browse this site source files">sources</a></li></ul>
60 <%code> 60 <%code>
61 if(!access(WEB_RUN_ROOT "/conf/banner_side",R_OK)) { 61 if(!access(WEB_RUN_ROOT "/conf/banner_side",R_OK)) {
62 pass_file_through(WEB_RUN_ROOT "/conf/banner_side"); 62 pass_file_through(WEB_RUN_ROOT "/conf/banner_side");
diff --git a/htdocs/exceptions/runtime.chtml b/htdocs/exceptions/runtime.chtml
index 9a72afd..1fcd80f 100644
--- a/htdocs/exceptions/runtime.chtml
+++ b/htdocs/exceptions/runtime.chtml
@@ -3,7 +3,7 @@
3<%constructor> 3<%constructor>
4 b_strict = false; 4 b_strict = false;
5 PN_PREV("/exceptions/compile","compile-time","compile-time errors"); 5 PN_PREV("/exceptions/compile","compile-time","compile-time errors");
6 PN_NEXT("/sources","sources","source browser"); 6 PN_NEXT("/quickref/","quick reference","quick reference");
7</%constructor> 7</%constructor>
8<%codemethod string title() %> 8<%codemethod string title() %>
9 return "runtime exceptions handling"; 9 return "runtime exceptions handling";
diff --git a/htdocs/quickref/index.chtml b/htdocs/quickref/index.chtml
new file mode 100644
index 0000000..20ef217
--- a/dev/null
+++ b/htdocs/quickref/index.chtml
@@ -0,0 +1,16 @@
1% html(); return; /* vim:set ft=sitecing: */
2%%derive layout = "/ancestry/layout.chtml";
3<%constructor>
4 PN_PREV("/exceptions/runtime","runtime","runtime exceptions");
5 PN_NEXT("/quickref/metasyntax","syntax","meta syntax");
6</%constructor>
7<%codemethod string title() %>
8 return "quick reference";
9</%codemethod>
10<%method void content() %>
11 <h1>site-C-ing quick reference</h1>
12 <p>
13 I am hoping to put together some quick reference documentation here. For now,
14 I am adding the component meta-syntax quick reference.
15 </p>
16</%method>
diff --git a/htdocs/quickref/metasyntax.chtml b/htdocs/quickref/metasyntax.chtml
new file mode 100644
index 0000000..a63f596
--- a/dev/null
+++ b/htdocs/quickref/metasyntax.chtml
@@ -0,0 +1,344 @@
1% html(); return; /* vim:set ft=sitecing: */
2%%derive layout = "/ancestry/layout.chtml";
3<%constructor>
4 PN_PREV("/quickref/","quick reference","quick reference");
5 PN_NEXT("/sources","sources","source browser");
6</%constructor>
7<%codemethod string title() %>
8 return "meta syntax quick reference";
9</%codemethod>
10<%method void content() %>
11 <h1>site-C-ing meta syntax quick reference</h1>
12
13 <h2>Table of Contents</h2>
14
15 <ul class="quickref toc">
16 <li><a href="#qr__line">% ...</a></li>
17 <li><a href="#qr__inline">&lt;% ... %&gt;</a></li>
18 <li><a href="#qr__code">&lt;%code&gt;</a></li>
19 <li><a href="#qr__codemethod">&lt;%codemethod ... &gt;</a></li>
20 <li><a href="#qr__constructor">&lt;%constructor&gt;</a></li>
21 <li><a href="#qr__decl">&lt;%decl&gt;</a></li>
22 <li><a href="#qr___decl">%%decl</a></li>
23 <li><a href="#qr___derive">%%derive</a></li>
24 <li><a href="#qr__destructor">&lt;%destructor&gt;</a></li>
25 <li><a href="#qr__impl">&lt;%impl&gt;</a></li>
26 <li><a href="#qr___impl">%%impl</a></li>
27 <li><a href="#qr__method">&lt;%method ... &gt;</a></li>
28 <li><a href="#qr__output">&lt;%output&gt;</a></li>
29 <li><a href="#qr___pragma">%%pragma</a></li>
30 <li><a href="#qr___var">%%var</a></li>
31 </ul>
32
33 <dl class="metasyntax quickref">
34
35% /* % */
36 <dt>
37 <a id="qr__line" name="qr__line" title="line of code">
38 <code>% <kbd>line of code</kbd></code>
39 </a>
40 </dt>
41 <dd>
42 <p>
43 Break out into the code mode for just one line.
44 </p>
45 <blockquote class="qr_sample">
46 &nbsp;&lt;body&gt;<br/>
47 <em><a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/></em>
48 &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
49 &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/>
50 <em><a href="#qr__line" title="% description">%</a> }<br/></em>
51 &nbsp;&lt;/body&gt;
52 </blockquote>
53 </dd>
54
55% /* <% %> */
56 <dt>
57 <a id="qr__inline" name="qr__inline" title="output expression">
58 <code>&lt;% <kbd>expression</kbd> %&gt;</code>
59 </a>
60 </dt>
61 <dd>
62 <p>
63 &lt;&lt; <kbd>expression</kbd> into output stream (think c++).
64 </p>
65 <blockquote class="qr_sample">
66 <a href="#qr__line" title="% description">%</a> for(int t=0;t&lt;10;t++) {<br/>
67 &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
68 <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>
69 <a href="#qr__line" title="% description">%</a> }
70 </blockquote>
71 </dd>
72
73% /* %code */
74 <dt>
75 <a id="qr__code" name="qr__code" title="switching to code mode">
76 <code>
77 &lt;%code&gt; <kbd>...</kbd> &lt;/%code&gt;
78 </code>
79 </a>
80 </dt>
81 <dd>
82 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.
83 </p>
84 <blockquote class="qr_sample">
85 &lt;body&gt;<br/>
86 <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;%code&gt;</a><br/></em>
87 &nbsp;&nbsp;for(int t=0;t&lt;10;t++) {<br/>
88 &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
89 &nbsp;&nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
90 &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/>
91 &nbsp;&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/>
92 <em>&nbsp;<a href="#qr__code" title="&lt;%code&gt; descrption">&lt;/%code&gt;</a><br/></em>
93 &lt;/body&gt;
94 </blockquote>
95 </dd>
96
97% /* %codemethod */
98 <dt>
99 <a id="qr__codemethod" name="qr__codemethod" title="member function definition">
100 <code>
101 &lt;%codemethod <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %&gt;<br/>
102 &nbsp;<kbd>code</kbd><br/>
103 &lt;/%codemethod&gt;
104 </code>
105 </a>
106 </dt>
107 <dd>
108 <p>
109 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>.
110 </p>
111 <blockquote class="qr_sample">
112 <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/>
113 &nbsp;return __CGI-&gt;get_meta("USER_AGENT");<br/>
114 <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/></em>
115 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/>
116 </blockquote>
117 </dd>
118
119% /* %constructor */
120 <dt>
121 <a id="qr__constructor" name="qr__constructor" title="constructor code">
122 <code>
123 &lt;%constructor&gt;<br/>
124 &nbsp;<kbd>code</kbd><br/>
125 &lt;/%constructor&gt;
126 </code>
127 </a>
128 </dt>
129 <dd>
130 <p>
131 Provide the code for constructor.
132 </p>
133 <blockquote class="qr_sample">
134 <a href="#qr___var" title="%%var description">%%var</a> bool is_msie;<br/>
135 <em><a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
136 &nbsp;is_msie = (__CGI-&gt;get_meta("USER_AGENT").find("MSIE")!=string::npos);<br/>
137 <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/></em>
138 </blockquote>
139 </dd>
140
141% /* %decl / %%decl */
142 <dt>
143 <a id="qr___decl" name="qr___decl" title="verbatim declaration">
144 <code>%%decl <kbd>line of code</kbd></code>
145 </a>
146 </dt>
147 <dt>
148 <a id="qr__decl" name="qr__decl" title="verbatim declaration">
149 <code>
150 &lt;%decl&gt;<br/>
151 &nbsp;<kbd>lines of code</kbd><br/>
152 &lt;/%decl&gt;
153 </code>
154 </a>
155 </dt>
156 <dd>
157 <p>
158 Put the line(s) of code into the resulting <em>.h</em> file before the
159 class declaration.
160 </p>
161 <blockquote class="qr_sample">
162 <em><a href="#qr___decl" title="%%decl description">%%decl</a> #include &lt;string&gt;<br/></em>
163 <a href="#qr___var" title="%%var description">%%var</a> std::string str = "default"<br/>
164 <em><a href="#qr__decl" title="&lt;%decl&gt; description">&lt;%decl&gt;</a><br/>
165 &nbsp;typedef int integer_t;<br/>
166 <a href="#qr__decl" title="&lt;%decl&gt; description">&lt;/%decl&gt;</a><br/></em>
167 <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/>
168 &nbsp;nothing is done<br/>
169 <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a>
170 </blockquote>
171 </dd>
172
173% /* %%derive */
174 <dt>
175 <a id="qr___derive" name="qr___derive" title="base class(es) specification">
176 <code>%%derive <kbd>name</kbd> = "<kbd>base-component</kbd>";</code>
177 </a>
178 </dt>
179 <dd>
180 <p>
181 Inherit what is there to be inherited from the base component specified.
182 </p>
183 <blockquote class="qr_sample">
184 <em><a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/></em>
185 <a href="#qr__line" title="% description">%</a> pagelayout::member_function();
186 </blockquote>
187 </dd>
188
189% /* %destructor */
190 <dt>
191 <a id="qr__destructor" name="qr__destructor" title="destructor code">
192 <code>
193 &lt;%destructor&gt;<br/>
194 &nbsp;<kbd>code</kbd><br/>
195 &lt;/%destructor&gt;
196 </code>
197 </a>
198 </dt>
199 <dd>
200 <p>
201 Provide the code for destructor.
202 </p>
203 <blockquote class="qr_sample">
204 <a href="#qr___var" title="%%var description">%%var</a> type_t *tmp = 0;<br/>
205 <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;%constructor&gt;</a><br/>
206 &nbsp;tmp = new type_t(type_t::option_1);<br/>
207 <a href="#qr__constructor" title="&lt;%constructor&gt; description">&lt;/%constructor&gt;</a><br/>
208 <em><a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;%destructor&gt;</a><br/>
209 &nbsp;delete tmp;<br/>
210 <a href="#qr__destructor" title="&lt;%destructor&gt; description">&lt;/%destructor&gt;</a><br/></em>
211 </blockquote>
212 </dd>
213
214% /* %impl / %%impl */
215 <dt>
216 <a id="qr___impl" name="qr__impl" title="verbatim definition">
217 <code>%%impl <kbd>line of code</kbd></code>
218 </a>
219 </dt>
220 <dt>
221 <a id="qr__impl" name="qr__impl" title="verbatim definition">
222 <code>
223 &lt;%impl&gt;<br/>
224 &nbsp;<kbd>lines of code</kbd><br/>
225 &lt;/%impl&gt;
226 </code>
227 </a>
228 </dt>
229 <dd>
230 <p>
231 Put the line(s) of code into the resulting <em>.cc</em> implementation file
232 before any members definitions.
233 </p>
234 <blockquote class="qr_sample">
235 <em><a href"#qr___impl" title="%%impl description">%%impl</a> #include &lt;string.h&gt;<br/></em>
236 <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/>
237 <a href="#qr__line" title="% description">%</a> if(strstr(haystack,needle)) {<br/>
238 &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/>
239 <a href="#qr__line" title="% description">%</a> }<br/>
240 <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
241 <em><a href="#qr__impl" title="&lt;%impl&gt; description">&lt;%impl&gt;</a><br/>
242 &nbsp;#include &lt;konforka/exception.h&gt;
243 &nbsp;static const char *tokens[] = {<br/>
244 &nbsp;&nbsp;"token 1", "token 2", "token 3"<br/>
245 &nbsp;};<br/>
246 <a href="#qr__impl" title="&lt;%impl&gt; description">&lt;/%impl&gt;</a><br/></em>
247 <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/>
248 &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;%code&gt;</a><br/>
249 &nbsp;&nbsp;if(toknum&lt;0 || toknum&gt;=(sizeof(tokens)/sizeof(*tokens)))<br/>
250 &nbsp;&nbsp;&nbsp;throw konforka::exception(CODEPOINT,"out of bounds");<br/>
251 &nbsp;<a href="#qr__code" title="&lt;%code&gt; description">&lt;/%code&gt;</a><br/>
252 &nbsp;<a href="#qr__inline" title="&lt;% ... %&gt; description">&lt;%</a> tokens[toknum] <a href="#qr__inline" title="&lt;% ... %&gt; description">%&gt;</a><br/>
253 <a href="#qr__method" title="&lt;%method ... %&gt; description">&lt;/%method&gt;</a><br/>
254 </blockquote>
255 </dd>
256
257% /* %method */
258 <dt>
259 <a id="qr__method" name="qr__method" title="member function definition">
260 <code>
261 &lt;%method <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %&gt;<br/>
262 &nbsp;<kbd>code</kbd><br/>
263 &lt;/%method&gt;
264 </code>
265 </a>
266 </dt>
267 <dd>
268 <p>
269 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>.
270 </p>
271 <blockquote class="qr_sample">
272 <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/>
273 &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/>
274 <a href="#qr__codemethod" title="&lt;%codemethod ... %&gt; description">&lt;/%method&gt;</a><br/></em>
275 <a href="#qr__line" title="% description">%</a> emphasized("emphasized text");
276 </blockquote>
277 </dd>
278
279% /* %output */
280 <dt>
281 <a id="qr__output" name="qr__output" title="switching to output mode">
282 <code>
283 &lt;%output&gt; <kbd>...</kbd> &lt;/%output&gt;
284 </code>
285 </a>
286 </dt>
287 <dd>
288 <p>
289 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.
290 </p>
291 <blockquote class="qr_sample">
292 <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/>
293 &nbsp;for(int t=0;t&lt;10;t++) {<br/>
294 <em>&nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;%output&gt;</a><br/>
295 &nbsp;&nbsp;&nbsp;Here is the way we count.&lt;br/&gt;<br/>
296 &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/>
297 &nbsp;&nbsp;<a href="#qr__output" title="&lt;%output&gt; descrption">&lt;/%output&gt;</a><br/></em>
298 <a href="#qr__codemethod" title="&lt;/%codemethod ... %&gt; description">&lt;/%codemethod&gt;</a><br/>
299 <a href="#qr__line" title="% description">%</a> count();
300 </blockquote>
301 </dd>
302
303% /* %%pragma */
304 <dt>
305 <a id="qr___pragma" name="qr___pragma" title="pragma">
306 <code>
307 %%pragma <kbd>pragma_name</kbd><br/>
308 %%pragma <kbd>pragma_name</kbd>=<kbd>pragma_value</kbd>
309 </code>
310 </a>
311 </dt>
312 <dd>
313 <p>provide pseudo instructions to the preprocessor. At this time only pragma
314 named <code>main</code> is defined, which instructs preprocessor to discard
315 the 'main' member that would be generated for the component and call the
316 <code>main</code> member of the named base class.</p>
317 <blockquote class="qr_sample">
318 <a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/>
319 <em><a href="#qr___pragma" title="%%pragma description">%%pragma</a> main=pagelayout</em>
320 </blockquote>
321 </dd>
322
323% /* %%var */
324 <dt>
325 <a id="qr___var" name="qr___var" title="member variable declaration">
326 <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd>;<br/>
327 <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd> = <kbd>initalizer</kbd>;<br/>
328 </a>
329 </dt>
330 <dd>
331 <p>
332 Define the member variable with optional default value (suitable for
333 putting into the <code>: <kbd>varname</kbd>(<kbd>initializer</kbd>)</code>
334 part of the c++ constructor.
335 </p>
336 <blockquote class="qr_sample">
337 <em><a href="#qr___var" title="%%var description">%%var</a> std::string strval = "default value";<br/>
338 <a href="#qr___var" title="%%var description">%%var</a> int usecount = 0;<br/>
339 <a href="#qr___var" title="%%var description">%%var</a> int whatnot;</em>
340 </blockquote>
341 </dd>
342
343 </dl>
344</%method>
diff --git a/htdocs/sources.chtml b/htdocs/sources.chtml
index 6341f49..8c0c701 100644
--- a/htdocs/sources.chtml
+++ b/htdocs/sources.chtml
@@ -6,7 +6,7 @@
6</%impl> 6</%impl>
7<%constructor> 7<%constructor>
8 b_strict = false; 8 b_strict = false;
9 PN_PREV("/exceptions/runtime","runtime","runtime exceptions"); 9 PN_PREV("/quickref/metasyntax","syntax","meta syntax");
10</%constructor> 10</%constructor>
11<%codemethod string title() %> 11<%codemethod string title() %>
12 return "runtime exceptions handling"; 12 return "runtime exceptions handling";
diff --git a/htdocs/style.css b/htdocs/style.css
index 83e308f..96e4c59 100644
--- a/htdocs/style.css
+++ b/htdocs/style.css
@@ -3,10 +3,10 @@ body {
3 font-size: 11pt; 3 font-size: 11pt;
4} 4}
5 5
6a { 6a:link, a:visited {
7 text-decoration: none; 7 text-decoration: none;
8} 8}
9a:hover { 9a:link:hover, a:visited:hover {
10 text-decoration: underline; 10 text-decoration: underline;
11} 11}
12p { 12p {
@@ -24,6 +24,7 @@ p.note {
24 background: #c0c0e0; 24 background: #c0c0e0;
25 color: #202020; 25 color: #202020;
26} 26}
27code a,
27code { 28code {
28 color: #d04040; 29 color: #d04040;
29} 30}
@@ -118,9 +119,20 @@ div#content h1 {
118 margin: 1em; 119 margin: 1em;
119 clear: both; 120 clear: both;
120} 121}
122div#content h2 {
123 font-size: 140%;
124 color: #8080a0;
125 font-weight: bold;
126 text-align: center;
127 margin: 1em;
128 clear: both;
129}
121div#content p a { 130div#content p a {
122 font-weight: bold; 131 font-weight: bold;
123} 132}
133div#content p a.internal {
134 font-weight: inherit !important;
135}
124 136
125div.insert { 137div.insert {
126 text-align: center; 138 text-align: center;
@@ -203,3 +215,42 @@ div.prevnext a:hover {
203 border: black 1px solid; 215 border: black 1px solid;
204 color: white; 216 color: white;
205} 217}
218
219ul.quickref.toc {
220 margin: 1em 20%;
221 font-size: 90%;
222 border: solid 1px gray;
223}
224
225dl.quickref {
226 margin: 1ex 1em;
227}
228dl.quickref dt {
229 margin: 0.4ex;
230 padding: 2px 0.5ex;
231 background: #e0e0e0;
232 display: compact;
233}
234dl.quickref dd {
235 margin: 0px 0.4ex 0.4ex 10%;
236 padding: 0px;
237 border: 1px solid grey;
238}
239dl.quickref code kbd {
240 font-style: italic;
241 color: #0000c0;
242}
243dl.quickref blockquote {
244 background: #ffffc0;
245 padding: 4px;
246 border: dotted 1px gray;
247 font-family: monospace;
248}
249dl.quickref blockquote em {
250 display: block;
251 font-family: inherit !important;
252 font-size: inherit !important;
253 font-weight: inherit !important;
254 font-style: inherit !important;
255 background: #ffc0c0;
256}