-rw-r--r-- | htdocs/ancestry/layout.chtml | 4 | ||||
-rw-r--r-- | htdocs/ancestry/sources.chtml | 4 | ||||
-rw-r--r-- | htdocs/examples/calendar.chtml | 1 | ||||
-rw-r--r-- | htdocs/index.chtml | 8 | ||||
-rw-r--r-- | htdocs/quickref/index.chtml | 3 | ||||
-rw-r--r-- | htdocs/quickref/metasyntax.chtml | 193 | ||||
-rw-r--r-- | htdocs/style.css | 8 |
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 | |||
@@ -17,20 +17,20 @@ | |||
17 | if(strstr(PACKAGE_STRING,"svn")) | 17 | if(strstr(PACKAGE_STRING,"svn")) |
18 | b_svn = true; | 18 | b_svn = true; |
19 | </%constructor> | 19 | </%constructor> |
20 | <%method void prevnext() %> | 20 | <%method void prevnext() %> |
21 | % if(urlPrev.empty() && urlNext.empty()) return; | 21 | % if(urlPrev.empty() && urlNext.empty()) return; |
22 | % if(descPrev.empty() && descNext.empty()) return; | 22 | % if(descPrev.empty() && descNext.empty()) return; |
23 | <div class="prevnext"> | 23 | <div class="prevnext"> |
24 | % if(!(urlPrev.empty() || descPrev.empty())) { | 24 | % if(!(urlPrev.empty() || descPrev.empty())) { |
25 | <a class="prevnext-prev" href="<% urlPrev %>" title="<% sitecing::html_escape(titlePrev.empty()?descPrev:titlePrev) %>"><% sitecing::html_escape(descPrev) %></a> | 25 | <a class="prevnext-prev" href="<% urlPrev %>" title="<% sitecing::html_escape(titlePrev.empty()?descPrev:titlePrev) %>">◄ <% sitecing::html_escape(descPrev) %></a> |
26 | % } | 26 | % } |
27 | % if(!(urlNext.empty() || descNext.empty())) { | 27 | % if(!(urlNext.empty() || descNext.empty())) { |
28 | <a class="prevnext-next" href="<% urlNext %>" title="<% sitecing::html_escape(titleNext.empty()?descNext:titleNext) %>"><% sitecing::html_escape(descNext) %></a> | 28 | <a class="prevnext-next" href="<% urlNext %>" title="<% sitecing::html_escape(titleNext.empty()?descNext:titleNext) %>"><% sitecing::html_escape(descNext) %> ►</a> |
29 | % } | 29 | % } |
30 | </div> | 30 | </div> |
31 | </%method> | 31 | </%method> |
32 | <%method void body() %> | 32 | <%method void body() %> |
33 | <div id="content"> | 33 | <div id="content"> |
34 | <%code> | 34 | <%code> |
35 | if(!access(WEB_RUN_ROOT "/conf/banner_top",R_OK)) { | 35 | if(!access(WEB_RUN_ROOT "/conf/banner_top",R_OK)) { |
36 | pass_file_through(WEB_RUN_ROOT "/conf/banner_top"); | 36 | pass_file_through(WEB_RUN_ROOT "/conf/banner_top"); |
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 | |||
@@ -55,16 +55,20 @@ | |||
55 | { "htdocs/exceptions/production", ".htaccess", "apache access control file" }, | 55 | { "htdocs/exceptions/production", ".htaccess", "apache access control file" }, |
56 | { "htdocs/exceptions/production", ".scrc", "site-C-ing local configuration" }, | 56 | { "htdocs/exceptions/production", ".scrc", "site-C-ing local configuration" }, |
57 | { "htdocs/exceptions/production", "preprocess.chtml", "the file that can not be preprocessed" }, | 57 | { "htdocs/exceptions/production", "preprocess.chtml", "the file that can not be preprocessed" }, |
58 | { "htdocs/exceptions/production", "runtime.chtml", "exception thrown at runtime" }, | 58 | { "htdocs/exceptions/production", "runtime.chtml", "exception thrown at runtime" }, |
59 | { "htdocs/exceptions/production", "compile.chtml", "the file that can not be compiled" }, | 59 | { "htdocs/exceptions/production", "compile.chtml", "the file that can not be compiled" }, |
60 | { "htdocs/exceptions/production", "erroneous.h", "the file to include for more errors" }, | 60 | { "htdocs/exceptions/production", "erroneous.h", "the file to include for more errors" }, |
61 | { "htdocs/exceptions/production", "compile.html", "compile-time exception handler output" }, | 61 | { "htdocs/exceptions/production", "compile.html", "compile-time exception handler output" }, |
62 | { 0,0,0 }, | 62 | { 0,0,0 }, |
63 | { "htdocs/quickref", 0, "reference documentation" }, | ||
64 | { "htdocs/quickref", "index.chtml", "the overview" }, | ||
65 | { "htdocs/quickref", "metasyntax.chtml", "component meta syntax quick reference" }, | ||
66 | { 0,0,0 }, | ||
63 | { 0,0,0 }, | 67 | { 0,0,0 }, |
64 | { "htdocs/handlers", 0, "exception handlers" }, | 68 | { "htdocs/handlers", 0, "exception handlers" }, |
65 | { "htdocs/handlers", ".htaccess", "apache access-control file" }, | 69 | { "htdocs/handlers", ".htaccess", "apache access-control file" }, |
66 | { "htdocs/handlers", "exception_dev", "development mode exception handler" }, | 70 | { "htdocs/handlers", "exception_dev", "development mode exception handler" }, |
67 | { "htdocs/handlers", "exception_prod", "production mode exception handler" }, | 71 | { "htdocs/handlers", "exception_prod", "production mode exception handler" }, |
68 | { 0,0,0 }, | 72 | { 0,0,0 }, |
69 | { "htdocs/ancestry", 0, "base components to build the rest upon" }, | 73 | { "htdocs/ancestry", 0, "base components to build the rest upon" }, |
70 | { "htdocs/ancestry", ".htaccess", "apache access control file" }, | 74 | { "htdocs/ancestry", ".htaccess", "apache access control file" }, |
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,14 +1,15 @@ | |||
1 | <%impl> | 1 | <%impl> |
2 | /* vim:set ft=sitecing: */ | 2 | /* vim:set ft=sitecing: */ |
3 | #include <time.h> | 3 | #include <time.h> |
4 | #include <konforka/exception.h> | 4 | #include <konforka/exception.h> |
5 | </%impl> | 5 | </%impl> |
6 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 6 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
7 | % __SCIF->flush(); | ||
7 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> | 8 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> |
8 | <head> | 9 | <head> |
9 | <title>really simple page</title> | 10 | <title>really simple page</title> |
10 | <style type="text/css"> | 11 | <style type="text/css"> |
11 | table.calendar { | 12 | table.calendar { |
12 | font-family: monospace; | 13 | font-family: monospace; |
13 | } | 14 | } |
14 | table.calendar th.heading { | 15 | table.calendar th.heading { |
diff --git a/htdocs/index.chtml b/htdocs/index.chtml index e8cedda..20d34c2 100644 --- a/htdocs/index.chtml +++ b/htdocs/index.chtml | |||
@@ -28,19 +28,21 @@ | |||
28 | The configure script will generate the apache vhost configuration for you, | 28 | The configure script will generate the apache vhost configuration for you, |
29 | which you can <code>Include</code> in the main apache configuration file. | 29 | which you can <code>Include</code> in the main apache configuration file. |
30 | </p> | 30 | </p> |
31 | <p class="note"> | 31 | <p class="note"> |
32 | Note, that the configuration is tailored for apache 2.x. It is no problem to | 32 | Note, that the configuration is tailored for apache 2.x. It is no problem to |
33 | get it working with apache 1.3.x, although I haven't tried and so I am not | 33 | get it working with apache 1.3.x, although I haven't tried and so I am not |
34 | sure if it will run out of the box (your patches are <a | 34 | sure if it will run out of the box (your patches are <a |
35 | href="mailto:sitecing-patches@klever.net">welcome</a>). Also note that you | 35 | href="mailto:sitecing-patches@klever.net">welcome</a>). Also note that you |
36 | will need <a href="http://fastcgi.com/">mod_fastcgi</a> apache module, which | 36 | may need <a href="http://fastcgi.com/">mod_fastcgi</a> apache module, |
37 | is the only CGI-interface supported by the <em>site-C-ing</em> engine at the | 37 | although now that fastcgi is not the only supported interface you may get the |
38 | moment. | 38 | thing running with 'plain' CGI with a bit of tweaking. Again, if you got it |
39 | working without breaking the fastcgi part your patches are <a | ||
40 | href="mailto:sitecing-patches@klever.net">welcome</a>. | ||
39 | </p> | 41 | </p> |
40 | <p> | 42 | <p> |
41 | Once you get it all done you will want to restart your apache and start the | 43 | Once you get it all done you will want to restart your apache and start the |
42 | <em>site-C-ing</em> fastcgi server by issuing the <code>make restart</code> | 44 | <em>site-C-ing</em> fastcgi server by issuing the <code>make restart</code> |
43 | command. | 45 | command. |
44 | </p> | 46 | </p> |
45 | <p> | 47 | <p> |
46 | Before you download it, you may wish to <a href="/sources" title="source | 48 | Before you download it, you may wish to <a href="/sources" title="source |
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 | |||
@@ -6,11 +6,12 @@ | |||
6 | </%constructor> | 6 | </%constructor> |
7 | <%codemethod string title() %> | 7 | <%codemethod string title() %> |
8 | return "quick reference"; | 8 | return "quick reference"; |
9 | </%codemethod> | 9 | </%codemethod> |
10 | <%method void content() %> | 10 | <%method void content() %> |
11 | <h1>site-C-ing quick reference</h1> | 11 | <h1>site-C-ing quick reference</h1> |
12 | <p> | 12 | <p> |
13 | I am hoping to put together some quick reference documentation here. For now, | 13 | I am hoping to put together some quick reference documentation here. For now, |
14 | I am adding the component meta-syntax quick reference. | 14 | I am adding the <a href="/quickref/metasyntax">component meta-syntax quick |
15 | reference</a>. | ||
15 | </p> | 16 | </p> |
16 | </%method> | 17 | </%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 | |||
@@ -38,64 +38,71 @@ | |||
38 | <code>% <kbd>line of code</kbd></code> | 38 | <code>% <kbd>line of code</kbd></code> |
39 | </a> | 39 | </a> |
40 | </dt> | 40 | </dt> |
41 | <dd> | 41 | <dd> |
42 | <p> | 42 | <p> |
43 | Break out into the code mode for just one line. | 43 | Break out into the code mode for just one line. |
44 | </p> | 44 | </p> |
45 | <blockquote class="qr_sample"> | 45 | <blockquote class="qr_sample"> |
46 | <body><br/> | 46 | <div> |
47 | <em><a href="#qr__line" title="% description">%</a> for(int t=0;t<10;t++) {<br/></em> | 47 | <body><br/> |
48 | Here is the way we count.<br/><br/> | 48 | Here is the way we count.<br/><br/> |
49 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> | 49 | <em><a href="#qr__line" title="% description">%</a> for(int t=0;t<10;t++) {<br/></em> |
50 | <em><a href="#qr__line" title="% description">%</a> }<br/></em> | 50 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> |
51 | </body> | 51 | <em><a href="#qr__line" title="% description">%</a> }<br/></em> |
52 | </body> | ||
53 | </div> | ||
52 | </blockquote> | 54 | </blockquote> |
53 | </dd> | 55 | </dd> |
54 | 56 | ||
55 | % /* <% %> */ | 57 | % /* <% %> */ |
56 | <dt> | 58 | <dt> |
57 | <a id="qr__inline" name="qr__inline" title="output expression"> | 59 | <a id="qr__inline" name="qr__inline" title="output expression"> |
58 | <code><% <kbd>expression</kbd> %></code> | 60 | <code><% <kbd>expression</kbd> %></code> |
59 | </a> | 61 | </a> |
60 | </dt> | 62 | </dt> |
61 | <dd> | 63 | <dd> |
62 | <p> | 64 | <p> |
63 | << <kbd>expression</kbd> into output stream (think c++). | 65 | << <kbd>expression</kbd> into output stream (think c++). |
64 | </p> | 66 | </p> |
65 | <blockquote class="qr_sample"> | 67 | <blockquote class="qr_sample"> |
66 | <a href="#qr__line" title="% description">%</a> for(int t=0;t<10;t++) {<br/> | 68 | <div> |
67 | Here is the way we count.<br/><br/> | 69 | Here is the way we count.<br/><br/> |
68 | <em> Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/></em> | 70 | <a href="#qr__line" title="% description">%</a> for(int t=0;t<10;t++) {<br/> |
69 | <a href="#qr__line" title="% description">%</a> } | 71 | <em> Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/></em> |
72 | <a href="#qr__line" title="% description">%</a> } | ||
73 | </div> | ||
70 | </blockquote> | 74 | </blockquote> |
71 | </dd> | 75 | </dd> |
72 | 76 | ||
73 | % /* %code */ | 77 | % /* %code */ |
74 | <dt> | 78 | <dt> |
75 | <a id="qr__code" name="qr__code" title="switching to code mode"> | 79 | <a id="qr__code" name="qr__code" title="switching to code mode"> |
76 | <code> | 80 | <code> |
77 | <%code> <kbd>...</kbd> </%code> | 81 | <%code> <kbd>...</kbd> </%code> |
78 | </code> | 82 | </code> |
79 | </a> | 83 | </a> |
80 | </dt> | 84 | </dt> |
81 | <dd> | 85 | <dd> |
82 | Escape from the output mode to code mode. Opposite to <code><a href="#qr__output" title="<%output> description"><%output></a></code>. Roughly the same as <code><a href="#qr__output" title="<%output> description"></%output></a> <kbd>...</kbd> <a href="#qr__output" title="<%output> description"><%output></a></code> (note the reverse order), but more self-explanatory and applies to more cases. | 86 | <p> |
87 | Escape from the output mode to code mode. Opposite to <code><a href="#qr__output" title="<%output> description"><%output></a></code>. Roughly the same as <code><a href="#qr__output" title="<%output> description"></%output></a> <kbd>...</kbd> <a href="#qr__output" title="<%output> description"><%output></a></code> (note the reverse order), but more self-explanatory and applies to more cases. | ||
83 | </p> | 88 | </p> |
84 | <blockquote class="qr_sample"> | 89 | <blockquote class="qr_sample"> |
85 | <body><br/> | 90 | <div> |
86 | <em> <a href="#qr__code" title="<%code> descrption"><%code></a><br/></em> | 91 | <body><br/> |
87 | for(int t=0;t<10;t++) {<br/> | 92 | <em> <a href="#qr__code" title="<%code> descrption"><%code></a><br/></em> |
88 | <a href="#qr__output" title="<%output> descrption"><%output></a><br/> | 93 | for(int t=0;t<10;t++) {<br/> |
89 | Here is the way we count.<br/><br/> | 94 | <a href="#qr__output" title="<%output> descrption"><%output></a><br/> |
90 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> | 95 | Here is the way we count.<br/><br/> |
91 | <a href="#qr__output" title="<%output> descrption"></%output></a><br/> | 96 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> |
92 | <em> <a href="#qr__code" title="<%code> descrption"></%code></a><br/></em> | 97 | <a href="#qr__output" title="<%output> descrption"></%output></a><br/> |
93 | </body> | 98 | <em> <a href="#qr__code" title="<%code> descrption"></%code></a><br/></em> |
99 | </body> | ||
100 | </div> | ||
94 | </blockquote> | 101 | </blockquote> |
95 | </dd> | 102 | </dd> |
96 | 103 | ||
97 | % /* %codemethod */ | 104 | % /* %codemethod */ |
98 | <dt> | 105 | <dt> |
99 | <a id="qr__codemethod" name="qr__codemethod" title="member function definition"> | 106 | <a id="qr__codemethod" name="qr__codemethod" title="member function definition"> |
100 | <code> | 107 | <code> |
101 | <%codemethod <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %><br/> | 108 | <%codemethod <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %><br/> |
@@ -104,20 +111,22 @@ | |||
104 | </code> | 111 | </code> |
105 | </a> | 112 | </a> |
106 | </dt> | 113 | </dt> |
107 | <dd> | 114 | <dd> |
108 | <p> | 115 | <p> |
109 | Define the member function. Essentially equivalent to <code><a href="#qr__method" title="<%method ... %> description" class="internal"><%method</a> <kbd>...</kbd> <a href="#qr__method" title="<%method ... %> description" class="internal">%></a><a href="#qr__code" title="<%code> description" class="internal"><%code></a> <kbd>...</kbd> <a href="#qr__code" title="<%code> description" class="internal"></%code></a><a href="#qr__method" title="<%method ... %> description" class="internal"></%method></a></code>. | 116 | Define the member function. Essentially equivalent to <code><a href="#qr__method" title="<%method ... %> description" class="internal"><%method</a> <kbd>...</kbd> <a href="#qr__method" title="<%method ... %> description" class="internal">%></a><a href="#qr__code" title="<%code> description" class="internal"><%code></a> <kbd>...</kbd> <a href="#qr__code" title="<%code> description" class="internal"></%code></a><a href="#qr__method" title="<%method ... %> description" class="internal"></%method></a></code>. |
110 | </p> | 117 | </p> |
111 | <blockquote class="qr_sample"> | 118 | <blockquote class="qr_sample"> |
112 | <em><a href="#qr__codemethod" title="<%codemethod ... %> description"><%codemethod</a> std::string ua() <a href="#qr__codemethod" title="<%codemethod ... %> description">%></a><br/> | 119 | <div> |
113 | return __CGI->get_meta("USER_AGENT");<br/> | 120 | <em><a href="#qr__codemethod" title="<%codemethod ... %> description"><%codemethod</a> std::string ua() <a href="#qr__codemethod" title="<%codemethod ... %> description">%></a><br/> |
114 | <a href="#qr__codemethod" title="<%codemethod ... %> description"></%codemethod></a><br/></em> | 121 | return __CGI->get_meta("USER_AGENT");<br/> |
115 | The user agent is: <a href="#qr__inline" title="<% ... %> description"><%</a> ua() <a href="#qr__inline" title="<% ... %> description">%></a><br/> | 122 | <a href="#qr__codemethod" title="<%codemethod ... %> description"></%codemethod></a><br/></em> |
123 | The user agent is: <a href="#qr__inline" title="<% ... %> description"><%</a> ua() <a href="#qr__inline" title="<% ... %> description">%></a><br/> | ||
124 | </div> | ||
116 | </blockquote> | 125 | </blockquote> |
117 | </dd> | 126 | </dd> |
118 | 127 | ||
119 | % /* %constructor */ | 128 | % /* %constructor */ |
120 | <dt> | 129 | <dt> |
121 | <a id="qr__constructor" name="qr__constructor" title="constructor code"> | 130 | <a id="qr__constructor" name="qr__constructor" title="constructor code"> |
122 | <code> | 131 | <code> |
123 | <%constructor><br/> | 132 | <%constructor><br/> |
@@ -126,20 +135,22 @@ | |||
126 | </code> | 135 | </code> |
127 | </a> | 136 | </a> |
128 | </dt> | 137 | </dt> |
129 | <dd> | 138 | <dd> |
130 | <p> | 139 | <p> |
131 | Provide the code for constructor. | 140 | Provide the code for constructor. |
132 | </p> | 141 | </p> |
133 | <blockquote class="qr_sample"> | 142 | <blockquote class="qr_sample"> |
134 | <a href="#qr___var" title="%%var description">%%var</a> bool is_msie;<br/> | 143 | <div> |
135 | <em><a href="#qr__constructor" title="<%constructor> description"><%constructor></a><br/> | 144 | <a href="#qr___var" title="%%var description">%%var</a> bool is_msie;<br/> |
136 | is_msie = (__CGI->get_meta("USER_AGENT").find("MSIE")!=string::npos);<br/> | 145 | <em><a href="#qr__constructor" title="<%constructor> description"><%constructor></a><br/> |
137 | <a href="#qr__constructor" title="<%constructor> description"></%constructor></a><br/></em> | 146 | is_msie = (__CGI->get_meta("USER_AGENT").find("MSIE")!=string::npos);<br/> |
147 | <a href="#qr__constructor" title="<%constructor> description"></%constructor></a><br/></em> | ||
148 | </div> | ||
138 | </blockquote> | 149 | </blockquote> |
139 | </dd> | 150 | </dd> |
140 | 151 | ||
141 | % /* %decl / %%decl */ | 152 | % /* %decl / %%decl */ |
142 | <dt> | 153 | <dt> |
143 | <a id="qr___decl" name="qr___decl" title="verbatim declaration"> | 154 | <a id="qr___decl" name="qr___decl" title="verbatim declaration"> |
144 | <code>%%decl <kbd>line of code</kbd></code> | 155 | <code>%%decl <kbd>line of code</kbd></code> |
145 | </a> | 156 | </a> |
@@ -154,40 +165,44 @@ | |||
154 | </a> | 165 | </a> |
155 | </dt> | 166 | </dt> |
156 | <dd> | 167 | <dd> |
157 | <p> | 168 | <p> |
158 | Put the line(s) of code into the resulting <em>.h</em> file before the | 169 | Put the line(s) of code into the resulting <em>.h</em> file before the |
159 | class declaration. | 170 | class declaration. |
160 | </p> | 171 | </p> |
161 | <blockquote class="qr_sample"> | 172 | <blockquote class="qr_sample"> |
162 | <em><a href="#qr___decl" title="%%decl description">%%decl</a> #include <string><br/></em> | 173 | <div> |
163 | <a href="#qr___var" title="%%var description">%%var</a> std::string str = "default"<br/> | 174 | <em><a href="#qr___decl" title="%%decl description">%%decl</a> #include <string><br/></em> |
164 | <em><a href="#qr__decl" title="<%decl> description"><%decl></a><br/> | 175 | <a href="#qr___var" title="%%var description">%%var</a> std::string str = "default"<br/> |
165 | typedef int integer_t;<br/> | 176 | <em><a href="#qr__decl" title="<%decl> description"><%decl></a><br/> |
166 | <a href="#qr__decl" title="<%decl> description"></%decl></a><br/></em> | 177 | typedef int integer_t;<br/> |
167 | <a href="#qr__method" title="<%method ... %> description"><%method</a> void do_nothing(integer_t input) <a href="#qr__method" title="<%method ... %> description">%></a><br/> | 178 | <a href="#qr__decl" title="<%decl> description"></%decl></a><br/></em> |
168 | nothing is done<br/> | 179 | <a href="#qr__method" title="<%method ... %> description"><%method</a> void do_nothing(integer_t input) <a href="#qr__method" title="<%method ... %> description">%></a><br/> |
169 | <a href="#qr__method" title="<%method ... %> description"></%method></a> | 180 | nothing is done<br/> |
181 | <a href="#qr__method" title="<%method ... %> description"></%method></a> | ||
182 | </div> | ||
170 | </blockquote> | 183 | </blockquote> |
171 | </dd> | 184 | </dd> |
172 | 185 | ||
173 | % /* %%derive */ | 186 | % /* %%derive */ |
174 | <dt> | 187 | <dt> |
175 | <a id="qr___derive" name="qr___derive" title="base class(es) specification"> | 188 | <a id="qr___derive" name="qr___derive" title="base class(es) specification"> |
176 | <code>%%derive <kbd>name</kbd> = "<kbd>base-component</kbd>";</code> | 189 | <code>%%derive <kbd>name</kbd> = "<kbd>base-component</kbd>";</code> |
177 | </a> | 190 | </a> |
178 | </dt> | 191 | </dt> |
179 | <dd> | 192 | <dd> |
180 | <p> | 193 | <p> |
181 | Inherit what is there to be inherited from the base component specified. | 194 | Inherit what is there to be inherited from the base component specified. |
182 | </p> | 195 | </p> |
183 | <blockquote class="qr_sample"> | 196 | <blockquote class="qr_sample"> |
184 | <em><a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/></em> | 197 | <div> |
185 | <a href="#qr__line" title="% description">%</a> pagelayout::member_function(); | 198 | <em><a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/></em> |
199 | <a href="#qr__line" title="% description">%</a> pagelayout::member_function(); | ||
200 | </div> | ||
186 | </blockquote> | 201 | </blockquote> |
187 | </dd> | 202 | </dd> |
188 | 203 | ||
189 | % /* %destructor */ | 204 | % /* %destructor */ |
190 | <dt> | 205 | <dt> |
191 | <a id="qr__destructor" name="qr__destructor" title="destructor code"> | 206 | <a id="qr__destructor" name="qr__destructor" title="destructor code"> |
192 | <code> | 207 | <code> |
193 | <%destructor><br/> | 208 | <%destructor><br/> |
@@ -196,23 +211,25 @@ | |||
196 | </code> | 211 | </code> |
197 | </a> | 212 | </a> |
198 | </dt> | 213 | </dt> |
199 | <dd> | 214 | <dd> |
200 | <p> | 215 | <p> |
201 | Provide the code for destructor. | 216 | Provide the code for destructor. |
202 | </p> | 217 | </p> |
203 | <blockquote class="qr_sample"> | 218 | <blockquote class="qr_sample"> |
204 | <a href="#qr___var" title="%%var description">%%var</a> type_t *tmp = 0;<br/> | 219 | <div> |
205 | <a href="#qr__constructor" title="<%constructor> description"><%constructor></a><br/> | 220 | <a href="#qr___var" title="%%var description">%%var</a> type_t *tmp = 0;<br/> |
206 | tmp = new type_t(type_t::option_1);<br/> | 221 | <a href="#qr__constructor" title="<%constructor> description"><%constructor></a><br/> |
207 | <a href="#qr__constructor" title="<%constructor> description"></%constructor></a><br/> | 222 | tmp = new type_t(type_t::option_1);<br/> |
208 | <em><a href="#qr__destructor" title="<%destructor> description"><%destructor></a><br/> | 223 | <a href="#qr__constructor" title="<%constructor> description"></%constructor></a><br/> |
209 | delete tmp;<br/> | 224 | <em><a href="#qr__destructor" title="<%destructor> description"><%destructor></a><br/> |
210 | <a href="#qr__destructor" title="<%destructor> description"></%destructor></a><br/></em> | 225 | delete tmp;<br/> |
226 | <a href="#qr__destructor" title="<%destructor> description"></%destructor></a><br/></em> | ||
227 | </div> | ||
211 | </blockquote> | 228 | </blockquote> |
212 | </dd> | 229 | </dd> |
213 | 230 | ||
214 | % /* %impl / %%impl */ | 231 | % /* %impl / %%impl */ |
215 | <dt> | 232 | <dt> |
216 | <a id="qr___impl" name="qr__impl" title="verbatim definition"> | 233 | <a id="qr___impl" name="qr__impl" title="verbatim definition"> |
217 | <code>%%impl <kbd>line of code</kbd></code> | 234 | <code>%%impl <kbd>line of code</kbd></code> |
218 | </a> | 235 | </a> |
@@ -227,35 +244,37 @@ | |||
227 | </a> | 244 | </a> |
228 | </dt> | 245 | </dt> |
229 | <dd> | 246 | <dd> |
230 | <p> | 247 | <p> |
231 | Put the line(s) of code into the resulting <em>.cc</em> implementation file | 248 | Put the line(s) of code into the resulting <em>.cc</em> implementation file |
232 | before any members definitions. | 249 | before any members definitions. |
233 | </p> | 250 | </p> |
234 | <blockquote class="qr_sample"> | 251 | <blockquote class="qr_sample"> |
235 | <em><a href"#qr___impl" title="%%impl description">%%impl</a> #include <string.h><br/></em> | 252 | <div> |
236 | <a href="#qr__method" title="<%method ... %gt; description"><%method</a> void output_if_contains(const char *haystack,const char *needle) <a href="#qr__method" title="<%method ... %gt; description">%></a><br/> | 253 | <em><a href="#qr___impl" title="%%impl description">%%impl</a> #include <string.h><br/></em> |
237 | <a href="#qr__line" title="% description">%</a> if(strstr(haystack,needle)) {<br/> | 254 | <a href="#qr__method" title="<%method ... %gt; description"><%method</a> void output_if_contains(const char *haystack,const char *needle) <a href="#qr__method" title="<%method ... %gt; description">%></a><br/> |
238 | <a href="#qr__inline" title="<% ... %> description"><%</a> haystack <a href="#qr__inline" title="<% ... %> description">%></a><br/> | 255 | <a href="#qr__line" title="% description">%</a> if(strstr(haystack,needle)) {<br/> |
239 | <a href="#qr__line" title="% description">%</a> }<br/> | 256 | <a href="#qr__inline" title="<% ... %> description"><%</a> haystack <a href="#qr__inline" title="<% ... %> description">%></a><br/> |
240 | <a href="#qr__method" title="<%method ... %> description"></%method></a><br/> | 257 | <a href="#qr__line" title="% description">%</a> }<br/> |
241 | <em><a href="#qr__impl" title="<%impl> description"><%impl></a><br/> | 258 | <a href="#qr__method" title="<%method ... %> description"></%method></a><br/> |
242 | #include <konforka/exception.h> | 259 | <em><a href="#qr__impl" title="<%impl> description"><%impl></a><br/> |
243 | static const char *tokens[] = {<br/> | 260 | #include <konforka/exception.h> |
244 | "token 1", "token 2", "token 3"<br/> | 261 | static const char *tokens[] = {<br/> |
245 | };<br/> | 262 | "token 1", "token 2", "token 3"<br/> |
246 | <a href="#qr__impl" title="<%impl> description"></%impl></a><br/></em> | 263 | };<br/> |
247 | <a href="#qr__method" title="<%method ... %gt; description"><%method</a> void output_token(int toknum) <a href="#qr__method" title="<%method ... %gt; description">%></a><br/> | 264 | <a href="#qr__impl" title="<%impl> description"></%impl></a><br/></em> |
248 | <a href="#qr__code" title="<%code> description"><%code></a><br/> | 265 | <a href="#qr__method" title="<%method ... %gt; description"><%method</a> void output_token(int toknum) <a href="#qr__method" title="<%method ... %gt; description">%></a><br/> |
249 | if(toknum<0 || toknum>=(sizeof(tokens)/sizeof(*tokens)))<br/> | 266 | <a href="#qr__code" title="<%code> description"><%code></a><br/> |
250 | throw konforka::exception(CODEPOINT,"out of bounds");<br/> | 267 | if(toknum<0 || toknum>=(sizeof(tokens)/sizeof(*tokens)))<br/> |
251 | <a href="#qr__code" title="<%code> description"></%code></a><br/> | 268 | throw konforka::exception(CODEPOINT,"out of bounds");<br/> |
252 | <a href="#qr__inline" title="<% ... %> description"><%</a> tokens[toknum] <a href="#qr__inline" title="<% ... %> description">%></a><br/> | 269 | <a href="#qr__code" title="<%code> description"></%code></a><br/> |
253 | <a href="#qr__method" title="<%method ... %> description"></%method></a><br/> | 270 | <a href="#qr__inline" title="<% ... %> description"><%</a> tokens[toknum] <a href="#qr__inline" title="<% ... %> description">%></a><br/> |
271 | <a href="#qr__method" title="<%method ... %> description"></%method></a><br/> | ||
272 | </div> | ||
254 | </blockquote> | 273 | </blockquote> |
255 | </dd> | 274 | </dd> |
256 | 275 | ||
257 | % /* %method */ | 276 | % /* %method */ |
258 | <dt> | 277 | <dt> |
259 | <a id="qr__method" name="qr__method" title="member function definition"> | 278 | <a id="qr__method" name="qr__method" title="member function definition"> |
260 | <code> | 279 | <code> |
261 | <%method <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %><br/> | 280 | <%method <kbd>return_type_t</kbd> <kbd>member_name</kbd>(<kbd>args,...</kbd>) %><br/> |
@@ -264,44 +283,48 @@ | |||
264 | </code> | 283 | </code> |
265 | </a> | 284 | </a> |
266 | </dt> | 285 | </dt> |
267 | <dd> | 286 | <dd> |
268 | <p> | 287 | <p> |
269 | Define the member function. Essentially equivalent to <code><a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal"><%codemethod</a> <kbd>...</kbd> <a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal">%></a><a href="#qr__output" title="<%output> description" class="internal"><%output></a> <kbd>...</kbd> <a href="#qr__output" title="<%output> description" class="internal"></%output></a><a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal"></%codemethod></a></code>. | 288 | Define the member function. Essentially equivalent to <code><a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal"><%codemethod</a> <kbd>...</kbd> <a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal">%></a><a href="#qr__output" title="<%output> description" class="internal"><%output></a> <kbd>...</kbd> <a href="#qr__output" title="<%output> description" class="internal"></%output></a><a href="#qr__codemethod" title="<%codemethod ... %> description" class="internal"></%codemethod></a></code>. |
270 | </p> | 289 | </p> |
271 | <blockquote class="qr_sample"> | 290 | <blockquote class="qr_sample"> |
272 | <em><a href="#qr__method" title="<%method ... %> description"><%method</a> void emphasized(const char *t) <a href="#qr__method" title="<%method ... %> description">%></a><br/> | 291 | <div> |
273 | <em><a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a></em><br/> | 292 | <em><a href="#qr__method" title="<%method ... %> description"><%method</a> void emphasized(const char *t) <a href="#qr__method" title="<%method ... %> description">%></a><br/> |
274 | <a href="#qr__codemethod" title="<%codemethod ... %> description"></%method></a><br/></em> | 293 | <em><a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a></em><br/> |
275 | <a href="#qr__line" title="% description">%</a> emphasized("emphasized text"); | 294 | <a href="#qr__codemethod" title="<%codemethod ... %> description"></%method></a><br/></em> |
295 | <a href="#qr__line" title="% description">%</a> emphasized("emphasized text"); | ||
296 | </div> | ||
276 | </blockquote> | 297 | </blockquote> |
277 | </dd> | 298 | </dd> |
278 | 299 | ||
279 | % /* %output */ | 300 | % /* %output */ |
280 | <dt> | 301 | <dt> |
281 | <a id="qr__output" name="qr__output" title="switching to output mode"> | 302 | <a id="qr__output" name="qr__output" title="switching to output mode"> |
282 | <code> | 303 | <code> |
283 | <%output> <kbd>...</kbd> </%output> | 304 | <%output> <kbd>...</kbd> </%output> |
284 | </code> | 305 | </code> |
285 | </a> | 306 | </a> |
286 | </dt> | 307 | </dt> |
287 | <dd> | 308 | <dd> |
288 | <p> | 309 | <p> |
289 | Escape from the code mode to output mode. Opposite to <code><a href="#qr__code" title="<%code> description"><%code></a></code>. Roughly the same as <code><a href="#qr__code" title="<%code> description"></%code></a> <kbd>...</kbd> <a href="#qr__code" title="<%code> description"><%code></a></code> (note the reverse order), but more self-explanatory and applies to more cases. | 310 | Escape from the code mode to output mode. Opposite to <code><a href="#qr__code" title="<%code> description"><%code></a></code>. Roughly the same as <code><a href="#qr__code" title="<%code> description"></%code></a> <kbd>...</kbd> <a href="#qr__code" title="<%code> description"><%code></a></code> (note the reverse order), but more self-explanatory and applies to more cases. |
290 | </p> | 311 | </p> |
291 | <blockquote class="qr_sample"> | 312 | <blockquote class="qr_sample"> |
292 | <a href="#qr__codemethod" title="<%codemethod ... %> description"><%codemethod</a> void count() <a href="#qr__codemethod" title="<%codemethod ... > description">%></a><br/> | 313 | <div> |
293 | for(int t=0;t<10;t++) {<br/> | 314 | <a href="#qr__codemethod" title="<%codemethod ... %> description"><%codemethod</a> void count() <a href="#qr__codemethod" title="<%codemethod ... > description">%></a><br/> |
294 | <em> <a href="#qr__output" title="<%output> descrption"><%output></a><br/> | 315 | for(int t=0;t<10;t++) {<br/> |
295 | Here is the way we count.<br/><br/> | 316 | <em> <a href="#qr__output" title="<%output> descrption"><%output></a><br/> |
296 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> | 317 | Here is the way we count.<br/><br/> |
297 | <a href="#qr__output" title="<%output> descrption"></%output></a><br/></em> | 318 | Just saying out loud: <a href="#qr__inline" title="<% ... %> description"><%</a> t <a href="#qr__inline" title="<% ... %> description">%></a><br/><br/> |
298 | <a href="#qr__codemethod" title="</%codemethod ... %> description"></%codemethod></a><br/> | 319 | <a href="#qr__output" title="<%output> descrption"></%output></a><br/></em> |
299 | <a href="#qr__line" title="% description">%</a> count(); | 320 | <a href="#qr__codemethod" title="</%codemethod ... %> description"></%codemethod></a><br/> |
321 | <a href="#qr__line" title="% description">%</a> count(); | ||
322 | </div> | ||
300 | </blockquote> | 323 | </blockquote> |
301 | </dd> | 324 | </dd> |
302 | 325 | ||
303 | % /* %%pragma */ | 326 | % /* %%pragma */ |
304 | <dt> | 327 | <dt> |
305 | <a id="qr___pragma" name="qr___pragma" title="pragma"> | 328 | <a id="qr___pragma" name="qr___pragma" title="pragma"> |
306 | <code> | 329 | <code> |
307 | %%pragma <kbd>pragma_name</kbd><br/> | 330 | %%pragma <kbd>pragma_name</kbd><br/> |
@@ -310,35 +333,39 @@ | |||
310 | </a> | 333 | </a> |
311 | </dt> | 334 | </dt> |
312 | <dd> | 335 | <dd> |
313 | <p>provide pseudo instructions to the preprocessor. At this time only pragma | 336 | <p>provide pseudo instructions to the preprocessor. At this time only pragma |
314 | named <code>main</code> is defined, which instructs preprocessor to discard | 337 | 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 | 338 | the 'main' member that would be generated for the component and call the |
316 | <code>main</code> member of the named base class.</p> | 339 | <code>main</code> member of the named base class.</p> |
317 | <blockquote class="qr_sample"> | 340 | <blockquote class="qr_sample"> |
318 | <a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/> | 341 | <div> |
319 | <em><a href="#qr___pragma" title="%%pragma description">%%pragma</a> main=pagelayout</em> | 342 | <a href="#qr___derive" title="%%derive description">%%derive</a> pagelayout = "/ancestry/page_layout.chtml";<br/> |
343 | <em><a href="#qr___pragma" title="%%pragma description">%%pragma</a> main=pagelayout</em> | ||
344 | </div> | ||
320 | </blockquote> | 345 | </blockquote> |
321 | </dd> | 346 | </dd> |
322 | 347 | ||
323 | % /* %%var */ | 348 | % /* %%var */ |
324 | <dt> | 349 | <dt> |
325 | <a id="qr___var" name="qr___var" title="member variable declaration"> | 350 | <a id="qr___var" name="qr___var" title="member variable declaration"> |
326 | <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd>;<br/> | 351 | <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd>;</code><br/> |
327 | <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd> = <kbd>initalizer</kbd>;<br/> | 352 | <code>%%var <kbd>type_t</kbd> <kbd>varname</kbd> = <kbd>initalizer</kbd>;</code><br/> |
328 | </a> | 353 | </a> |
329 | </dt> | 354 | </dt> |
330 | <dd> | 355 | <dd> |
331 | <p> | 356 | <p> |
332 | Define the member variable with optional default value (suitable for | 357 | Define the member variable with optional default value (suitable for |
333 | putting into the <code>: <kbd>varname</kbd>(<kbd>initializer</kbd>)</code> | 358 | putting into the <code>: <kbd>varname</kbd>(<kbd>initializer</kbd>)</code> |
334 | part of the c++ constructor. | 359 | part of the c++ constructor. |
335 | </p> | 360 | </p> |
336 | <blockquote class="qr_sample"> | 361 | <blockquote class="qr_sample"> |
337 | <em><a href="#qr___var" title="%%var description">%%var</a> std::string strval = "default value";<br/> | 362 | <div> |
338 | <a href="#qr___var" title="%%var description">%%var</a> int usecount = 0;<br/> | 363 | <em><a href="#qr___var" title="%%var description">%%var</a> std::string strval = "default value";<br/> |
339 | <a href="#qr___var" title="%%var description">%%var</a> int whatnot;</em> | 364 | <a href="#qr___var" title="%%var description">%%var</a> int usecount = 0;<br/> |
365 | <a href="#qr___var" title="%%var description">%%var</a> int whatnot;</em> | ||
366 | </div> | ||
340 | </blockquote> | 367 | </blockquote> |
341 | </dd> | 368 | </dd> |
342 | 369 | ||
343 | </dl> | 370 | </dl> |
344 | </%method> | 371 | </%method> |
diff --git a/htdocs/style.css b/htdocs/style.css index 96e4c59..28aa8df 100644 --- a/htdocs/style.css +++ b/htdocs/style.css | |||
@@ -209,48 +209,54 @@ div.prevnext a.prevnext-prev { | |||
209 | div.prevnext a.prevnext-next { | 209 | div.prevnext a.prevnext-next { |
210 | float: right; | 210 | float: right; |
211 | text-align: right; | 211 | text-align: right; |
212 | } | 212 | } |
213 | div.prevnext a:hover { | 213 | div.prevnext a:hover { |
214 | background: gray; | 214 | background: gray; |
215 | border: black 1px solid; | 215 | border: black 1px solid; |
216 | color: white; | 216 | color: white; |
217 | text-decoration: none; | ||
217 | } | 218 | } |
218 | 219 | ||
219 | ul.quickref.toc { | 220 | ul.quickref.toc { |
220 | margin: 1em 20%; | 221 | margin: 1em 20%; |
221 | font-size: 90%; | 222 | font-size: 90%; |
222 | border: solid 1px gray; | 223 | border: solid 1px gray; |
223 | } | 224 | } |
224 | 225 | ||
225 | dl.quickref { | 226 | dl.quickref { |
226 | margin: 1ex 1em; | 227 | margin: 1ex 1em; |
228 | overflow: hidden; | ||
227 | } | 229 | } |
228 | dl.quickref dt { | 230 | dl.quickref dt { |
229 | margin: 0.4ex; | 231 | margin: 0.4ex; |
230 | padding: 2px 0.5ex; | 232 | padding: 2px 0.5ex; |
231 | background: #e0e0e0; | 233 | background: #e0e0e0; |
232 | display: compact; | 234 | display: compact; |
233 | } | 235 | } |
234 | dl.quickref dd { | 236 | dl.quickref dd { |
235 | margin: 0px 0.4ex 0.4ex 10%; | 237 | margin: 0px 0.4ex 0.4ex 10%; |
236 | padding: 0px; | 238 | padding: 0px; |
237 | border: 1px solid grey; | 239 | border: 1px solid gray; |
240 | overflow: hidden; | ||
238 | } | 241 | } |
239 | dl.quickref code kbd { | 242 | dl.quickref code kbd { |
240 | font-style: italic; | 243 | font-style: italic; |
241 | color: #0000c0; | 244 | color: #0000c0; |
242 | } | 245 | } |
243 | dl.quickref blockquote { | 246 | dl.quickref blockquote { |
244 | background: #ffffc0; | 247 | background: #ffffc0; |
245 | padding: 4px; | 248 | padding: 4px; |
246 | border: dotted 1px gray; | 249 | border: dotted 1px gray; |
247 | font-family: monospace; | 250 | font-family: monospace; |
251 | font-size: 90%; | ||
252 | overflow: hidden; | ||
248 | } | 253 | } |
249 | dl.quickref blockquote em { | 254 | dl.quickref blockquote em { |
250 | display: block; | 255 | display: block; |
251 | font-family: inherit !important; | 256 | font-family: inherit !important; |
252 | font-size: inherit !important; | 257 | font-size: inherit !important; |
253 | font-weight: inherit !important; | 258 | font-weight: inherit !important; |
254 | font-style: inherit !important; | 259 | font-style: inherit !important; |
255 | background: #ffc0c0; | 260 | background: #ffc0c0; |
261 | overflow: hidden; | ||
256 | } | 262 | } |