author | Michael Krelin <hacker@klever.net> | 2005-04-02 17:12:01 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2005-04-02 17:12:01 (UTC) |
commit | 0234b0ae9ba19a37771a8e7d519137fa811c206c (patch) (unidiff) | |
tree | 0ea91c13e615a7abf70ad6d3ccdda7cacb97dd56 | |
parent | 1a234a03b327b20bf7490c696ebc41a9d65117ac (diff) | |
download | sitecing-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.
-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 | |||
@@ -1,52 +1,52 @@ | |||
1 | % html(); return; /* vim:set ft=sitecing: */ | 1 | % html(); return; /* vim:set ft=sitecing: */ |
2 | %%derive page = "/ancestry/page.chtml"; | 2 | %%derive page = "/ancestry/page.chtml"; |
3 | <%decl> | 3 | <%decl> |
4 | #define PN_PREV(h,d,t) urlPrev=h; descPrev=d; titlePrev=t; | 4 | #define PN_PREV(h,d,t) urlPrev=h; descPrev=d; titlePrev=t; |
5 | #define PN_NEXT(h,d,t) urlNext=h; descNext=d; titleNext=t; | 5 | #define PN_NEXT(h,d,t) urlNext=h; descNext=d; titleNext=t; |
6 | </%decl> | 6 | </%decl> |
7 | %%impl #include <sitecing/util.h> | 7 | %%impl #include <sitecing/util.h> |
8 | %%impl #include "acconfig.h" | 8 | %%impl #include "acconfig.h" |
9 | %%var bool b_svn = false; | 9 | %%var bool b_svn = false; |
10 | %%var std::string urlPrev; | 10 | %%var std::string urlPrev; |
11 | %%var std::string descPrev; | 11 | %%var std::string descPrev; |
12 | %%var std::string titlePrev; | 12 | %%var std::string titlePrev; |
13 | %%var std::string urlNext; | 13 | %%var std::string urlNext; |
14 | %%var std::string descNext; | 14 | %%var std::string descNext; |
15 | %%var std::string titleNext; | 15 | %%var std::string titleNext; |
16 | <%constructor> | 16 | <%constructor> |
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"); |
37 | } | 37 | } |
38 | prevnext(); | 38 | prevnext(); |
39 | content(); | 39 | content(); |
40 | if(b_strict && !access(WEB_RUN_ROOT "/conf/banner_bottom",R_OK)) { | 40 | if(b_strict && !access(WEB_RUN_ROOT "/conf/banner_bottom",R_OK)) { |
41 | pass_file_through(WEB_RUN_ROOT "/conf/banner_bottom"); | 41 | pass_file_through(WEB_RUN_ROOT "/conf/banner_bottom"); |
42 | } | 42 | } |
43 | </%code> | 43 | </%code> |
44 | </div> | 44 | </div> |
45 | <div id="sidepanel"> | 45 | <div id="sidepanel"> |
46 | % sidepanel(); | 46 | % sidepanel(); |
47 | </div> | 47 | </div> |
48 | </%method> | 48 | </%method> |
49 | <%method void content() %> | 49 | <%method void content() %> |
50 | </%method> | 50 | </%method> |
51 | <%method void sidepanel() %> | 51 | <%method void sidepanel() %> |
52 | <h1><% PACKAGE_STRING %></h1> | 52 | <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 @@ | |||
39 | { 0,0,0 }, | 39 | { 0,0,0 }, |
40 | { "htdocs/exceptions", 0, "exceptions handling overview" }, | 40 | { "htdocs/exceptions", 0, "exceptions handling overview" }, |
41 | { "htdocs/exceptions", "index.chtml", "the overview" }, | 41 | { "htdocs/exceptions", "index.chtml", "the overview" }, |
42 | { "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" }, | 42 | { "htdocs/exceptions", "preprocess.chtml", "preprocessor exceptions" }, |
43 | { "htdocs/exceptions", "compile.chtml", "compile-time exceptions" }, | 43 | { "htdocs/exceptions", "compile.chtml", "compile-time exceptions" }, |
44 | { "htdocs/exceptions", "runtime.chtml", "runtime exceptions" }, | 44 | { "htdocs/exceptions", "runtime.chtml", "runtime exceptions" }, |
45 | { "htdocs/exceptions/development", 0, "development-mode exceptions samples" }, | 45 | { "htdocs/exceptions/development", 0, "development-mode exceptions samples" }, |
46 | { "htdocs/exceptions/development", ".htaccess", "apache access control file" }, | 46 | { "htdocs/exceptions/development", ".htaccess", "apache access control file" }, |
47 | { "htdocs/exceptions/development", ".scrc", "site-C-ing local configuration" }, | 47 | { "htdocs/exceptions/development", ".scrc", "site-C-ing local configuration" }, |
48 | { "htdocs/exceptions/development", "preprocess.chtml", "the file that can not be preprocessed" }, | 48 | { "htdocs/exceptions/development", "preprocess.chtml", "the file that can not be preprocessed" }, |
49 | { "htdocs/exceptions/development", "runtime.chtml", "exception thrown at runtime" }, | 49 | { "htdocs/exceptions/development", "runtime.chtml", "exception thrown at runtime" }, |
50 | { "htdocs/exceptions/development", "compile.chtml", "the file that can not be compiled" }, | 50 | { "htdocs/exceptions/development", "compile.chtml", "the file that can not be compiled" }, |
51 | { "htdocs/exceptions/development", "erroneous.h", "the file to include for more errors" }, | 51 | { "htdocs/exceptions/development", "erroneous.h", "the file to include for more errors" }, |
52 | { "htdocs/exceptions/development", "compile.html", "compile-time exception handler output" }, | 52 | { "htdocs/exceptions/development", "compile.html", "compile-time exception handler output" }, |
53 | { 0,0,0 }, | 53 | { 0,0,0 }, |
54 | { "htdocs/exceptions/production", 0, "production-mode exceptions samples" }, | 54 | { "htdocs/exceptions/production", 0, "production-mode exceptions samples" }, |
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" }, |
71 | { "htdocs/ancestry", "page.chtml", "the xhtml skeleton" }, | 75 | { "htdocs/ancestry", "page.chtml", "the xhtml skeleton" }, |
72 | { "htdocs/ancestry", "layout.chtml", "the layout for the most pages" }, | 76 | { "htdocs/ancestry", "layout.chtml", "the layout for the most pages" }, |
73 | { "htdocs/ancestry", "sources.chtml", "the list of files for source browser" }, | 77 | { "htdocs/ancestry", "sources.chtml", "the list of files for source browser" }, |
74 | { 0,0,0 }, | 78 | { 0,0,0 }, |
75 | { 0,0,0 } | 79 | { 0,0,0 } |
76 | }; | 80 | }; |
77 | int source_files_count = sizeof(source_files)/sizeof(*source_files); | 81 | int source_files_count = sizeof(source_files)/sizeof(*source_files); |
78 | </%impl> | 82 | </%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 @@ | |||
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 { |
15 | border: double blue 3px; | 16 | border: double blue 3px; |
16 | } | 17 | } |
17 | table.calendar td { | 18 | table.calendar td { |
18 | text-align: right; | 19 | text-align: right; |
19 | margin: 0.5ex; padding: 2px; | 20 | margin: 0.5ex; padding: 2px; |
20 | border: solid 1px black; | 21 | border: solid 1px black; |
21 | } | 22 | } |
22 | table.calendar .wd-0, table.calendar .wd-6 { | 23 | table.calendar .wd-0, table.calendar .wd-6 { |
23 | color: red; | 24 | color: red; |
24 | } | 25 | } |
25 | table.calendar td.unexistant { | 26 | table.calendar td.unexistant { |
26 | border: none; | 27 | border: none; |
27 | } | 28 | } |
28 | table.calendar td.today { | 29 | table.calendar td.today { |
29 | background: #ffffc0; | 30 | background: #ffffc0; |
30 | color: blue; | 31 | 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 @@ | |||
12 | This is a sample site, which is supposed to demonstrate <em>site-C-ing</em> | 12 | This is a sample site, which is supposed to demonstrate <em>site-C-ing</em> |
13 | features. Since the <em>site-C-ing</em> is still at the early stages of | 13 | features. Since the <em>site-C-ing</em> is still at the early stages of |
14 | development or rather proof of concept, this site is also far from being | 14 | development or rather proof of concept, this site is also far from being |
15 | complete. I am planning to add more pages as the time permits, though. | 15 | complete. I am planning to add more pages as the time permits, though. |
16 | </p> | 16 | </p> |
17 | <p> | 17 | <p> |
18 | Once you download and install <a | 18 | Once you download and install <a |
19 | href="http://kin.klever.net/sitecing/">site-C-ing</a> you may wish to try | 19 | href="http://kin.klever.net/sitecing/">site-C-ing</a> you may wish to try |
20 | this sample site for yourself. The source is available from <a | 20 | this sample site for yourself. The source is available from <a |
21 | href="http://kin.klever.net/sitecing/sources">the site-C-ing download | 21 | href="http://kin.klever.net/sitecing/sources">the site-C-ing download |
22 | page</a>. After you download the source code, you should configure it using | 22 | page</a>. After you download the source code, you should configure it using |
23 | the ever so popular <code>configure</code> script. It is likely that you will | 23 | the ever so popular <code>configure</code> script. It is likely that you will |
24 | want to pass the <code>--with-vhostname</code> option to configure to name | 24 | want to pass the <code>--with-vhostname</code> option to configure to name |
25 | the apache virtual host. | 25 | the apache virtual host. |
26 | </p> | 26 | </p> |
27 | <p> | 27 | <p> |
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 |
47 | browser">examine the sources</a> to learn more about how it is done. | 49 | browser">examine the sources</a> to learn more about how it is done. |
48 | </p> | 50 | </p> |
49 | </%method> | 51 | </%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 @@ | |||
1 | % html(); return; /* vim:set ft=sitecing: */ | 1 | % html(); return; /* vim:set ft=sitecing: */ |
2 | %%derive layout = "/ancestry/layout.chtml"; | 2 | %%derive layout = "/ancestry/layout.chtml"; |
3 | <%constructor> | 3 | <%constructor> |
4 | PN_PREV("/exceptions/runtime","runtime","runtime exceptions"); | 4 | PN_PREV("/exceptions/runtime","runtime","runtime exceptions"); |
5 | PN_NEXT("/quickref/metasyntax","syntax","meta syntax"); | 5 | PN_NEXT("/quickref/metasyntax","syntax","meta syntax"); |
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 | |||
@@ -22,323 +22,350 @@ | |||
22 | <li><a href="#qr___decl">%%decl</a></li> | 22 | <li><a href="#qr___decl">%%decl</a></li> |
23 | <li><a href="#qr___derive">%%derive</a></li> | 23 | <li><a href="#qr___derive">%%derive</a></li> |
24 | <li><a href="#qr__destructor"><%destructor></a></li> | 24 | <li><a href="#qr__destructor"><%destructor></a></li> |
25 | <li><a href="#qr__impl"><%impl></a></li> | 25 | <li><a href="#qr__impl"><%impl></a></li> |
26 | <li><a href="#qr___impl">%%impl</a></li> | 26 | <li><a href="#qr___impl">%%impl</a></li> |
27 | <li><a href="#qr__method"><%method ... ></a></li> | 27 | <li><a href="#qr__method"><%method ... ></a></li> |
28 | <li><a href="#qr__output"><%output></a></li> | 28 | <li><a href="#qr__output"><%output></a></li> |
29 | <li><a href="#qr___pragma">%%pragma</a></li> | 29 | <li><a href="#qr___pragma">%%pragma</a></li> |
30 | <li><a href="#qr___var">%%var</a></li> | 30 | <li><a href="#qr___var">%%var</a></li> |
31 | </ul> | 31 | </ul> |
32 | 32 | ||
33 | <dl class="metasyntax quickref"> | 33 | <dl class="metasyntax quickref"> |
34 | 34 | ||
35 | % /* % */ | 35 | % /* % */ |
36 | <dt> | 36 | <dt> |
37 | <a id="qr__line" name="qr__line" title="line of code"> | 37 | <a id="qr__line" name="qr__line" title="line of code"> |
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/> |
102 | <kbd>code</kbd><br/> | 109 | <kbd>code</kbd><br/> |
103 | </%codemethod> | 110 | </%codemethod> |
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/> |
124 | <kbd>code</kbd><br/> | 133 | <kbd>code</kbd><br/> |
125 | </%constructor> | 134 | </%constructor> |
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> |
146 | </dt> | 157 | </dt> |
147 | <dt> | 158 | <dt> |
148 | <a id="qr__decl" name="qr__decl" title="verbatim declaration"> | 159 | <a id="qr__decl" name="qr__decl" title="verbatim declaration"> |
149 | <code> | 160 | <code> |
150 | <%decl><br/> | 161 | <%decl><br/> |
151 | <kbd>lines of code</kbd><br/> | 162 | <kbd>lines of code</kbd><br/> |
152 | </%decl> | 163 | </%decl> |
153 | </code> | 164 | </code> |
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/> |
194 | <kbd>code</kbd><br/> | 209 | <kbd>code</kbd><br/> |
195 | </%destructor> | 210 | </%destructor> |
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> |
219 | </dt> | 236 | </dt> |
220 | <dt> | 237 | <dt> |
221 | <a id="qr__impl" name="qr__impl" title="verbatim definition"> | 238 | <a id="qr__impl" name="qr__impl" title="verbatim definition"> |
222 | <code> | 239 | <code> |
223 | <%impl><br/> | 240 | <%impl><br/> |
224 | <kbd>lines of code</kbd><br/> | 241 | <kbd>lines of code</kbd><br/> |
225 | </%impl> | 242 | </%impl> |
226 | </code> | 243 | </code> |
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/> |
262 | <kbd>code</kbd><br/> | 281 | <kbd>code</kbd><br/> |
263 | </%method> | 282 | </%method> |
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/> |
308 | %%pragma <kbd>pragma_name</kbd>=<kbd>pragma_value</kbd> | 331 | %%pragma <kbd>pragma_name</kbd>=<kbd>pragma_value</kbd> |
309 | </code> | 332 | </code> |
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 | |||
@@ -193,64 +193,70 @@ ul.sourcebrowser li.file a:hover { | |||
193 | } | 193 | } |
194 | 194 | ||
195 | div.prevnext { | 195 | div.prevnext { |
196 | margin: 1ex; | 196 | margin: 1ex; |
197 | } | 197 | } |
198 | div.prevnext a { | 198 | div.prevnext a { |
199 | margin: 0.5ex 1em; padding: 0.2ex 0.5ex; | 199 | margin: 0.5ex 1em; padding: 0.2ex 0.5ex; |
200 | display: block; width: 30%; | 200 | display: block; width: 30%; |
201 | border: solid 1px gray; | 201 | border: solid 1px gray; |
202 | color: black; | 202 | color: black; |
203 | text-decoration: none; | 203 | text-decoration: none; |
204 | } | 204 | } |
205 | div.prevnext a.prevnext-prev { | 205 | div.prevnext a.prevnext-prev { |
206 | float: left; | 206 | float: left; |
207 | text-align: left; | 207 | text-align: left; |
208 | } | 208 | } |
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 | } |