91 lines
3.0 KiB
Tcl
91 lines
3.0 KiB
Tcl
# This file contains TCL procedures used to generate standard parts of
|
|
# web pages.
|
|
#
|
|
|
|
proc header {txt} {
|
|
puts "<html><head><title>$txt</title></head>"
|
|
puts {<DIV class="pdf_ignore">}
|
|
puts \
|
|
{<body bgcolor="white" link="#50695f" vlink="#508896">
|
|
<table width="100%" border="0">
|
|
<tr><td valign="top">
|
|
<a href="index.html"><img src="sqlite.gif" border="none"></a></td>
|
|
<td width="100%"></td>
|
|
<td valign="bottom">
|
|
<ul>
|
|
<li><a href="http://www.sqlite.org/cvstrac/tktnew">bugs</a></li>
|
|
<li><a href="changes.html">changes</a></li>
|
|
<li><a href="contrib">contrib</a></li>
|
|
<li><a href="download.html#cvs">cvs repository</a></li>
|
|
<li><a href="docs.html">documentation</a></li>
|
|
</ul>
|
|
</td>
|
|
<td width="10"></td>
|
|
<td valign="bottom">
|
|
<ul>
|
|
<li><a href="download.html">download</a></li>
|
|
<li><a href="faq.html">faq</a></li>
|
|
<li><a href="index.html">home</a></li>
|
|
<li><a href="copyright.html">license</a></li>
|
|
<li><a href="index.html">news</a></li>
|
|
</ul>
|
|
</td>
|
|
<td width="10"></td>
|
|
<td valign="bottom">
|
|
<ul>
|
|
<li><a href="quickstart.html">quick start</a></li>
|
|
<li><a href="support.html">support</a></li>
|
|
<li><a href="lang.html">syntax</a></li>
|
|
<li><a href="http://www.sqlite.org/cvstrac/timeline">timeline</a></li>
|
|
<li><a href="http://www.sqlite.org/cvstrac/wiki">wiki</a></li>
|
|
</ul>
|
|
</td>
|
|
</tr></table>
|
|
<table width="100%">
|
|
<tr><td bgcolor="#80a796"></td></tr>
|
|
</table>}
|
|
puts </DIV>
|
|
}
|
|
|
|
proc footer {{rcsid {}}} {
|
|
puts {
|
|
<table width="100%">
|
|
<tr><td bgcolor="#80a796"></td></tr>
|
|
</table>}
|
|
set date [lrange $rcsid 3 4]
|
|
if {$date!=""} {
|
|
puts "<small><i>This page last modified on $date</i></small>"
|
|
}
|
|
puts {</body></html>}
|
|
}
|
|
|
|
|
|
# The following proc is used to ensure consistent formatting in the
|
|
# HTML generated by lang.tcl and pragma.tcl.
|
|
#
|
|
proc Syntax {args} {
|
|
puts {<table cellpadding="10" class=pdf_syntax>}
|
|
foreach {rule body} $args {
|
|
puts "<tr><td align=\"right\" valign=\"top\">"
|
|
puts "<i><font color=\"#ff3434\">$rule</font></i> ::=</td>"
|
|
regsub -all < $body {%LT} body
|
|
regsub -all > $body {%GT} body
|
|
regsub -all %LT $body {</font></b><i><font color="#ff3434">} body
|
|
regsub -all %GT $body {</font></i><b><font color="#2c2cf0">} body
|
|
regsub -all {[]|[*?]} $body {</font></b>&<b><font color="#2c2cf0">} body
|
|
regsub -all "\n" [string trim $body] "<br>\n" body
|
|
regsub -all "\n *" $body "\n\\ \\ \\ \\ " body
|
|
regsub -all {[|,.*()]} $body {<big>&</big>} body
|
|
regsub -all { = } $body { <big>=</big> } body
|
|
regsub -all {STAR} $body {<big>*</big>} body
|
|
## These metacharacters must be handled to undo being
|
|
## treated as SQL punctuation characters above.
|
|
regsub -all {RPPLUS} $body {</font></b>)+<b><font color="#2c2cf0">} body
|
|
regsub -all {LP} $body {</font></b>(<b><font color="#2c2cf0">} body
|
|
regsub -all {RP} $body {</font></b>)<b><font color="#2c2cf0">} body
|
|
## Place the left-hand side of the rule in the 2nd table column.
|
|
puts "<td><b><font color=\"#2c2cf0\">$body</font></b></td></tr>"
|
|
}
|
|
puts {</table>}
|
|
}
|