Documentation Source Text

Artifact [7d91142066]

Artifact 7d911420662ffb2a73a2a1c68a6240b86e7e4cba:

proc document_header {title path {search {}}} {
  set ret [subst -nocommands {
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <link href="${path}sqlite.css" rel="stylesheet">

  if {[file exists DRAFT]} {
    set tagline {<font size="6" color="red">*** DRAFT ***</font>}
  } else {
    set tagline {Small. Fast. Reliable.<br>Choose any three.}

  append ret [subst -nocommands {<body>
    <div class=nosearch>
    <img class="logo" src="${path}images/sqlite370_banner.gif" alt="SQLite" border="0">
    <div><!-- IE hack to prevent disappearing logo --></div>
    <div class="tagline desktoponly">
    <div class="menu mainmenu">
    <li><a href="${path}index.html">Home</a>
    <li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>
    <li class='wideonly'><a href='${path}about.html'>About</a>
    <li class='desktoponly'><a href="${path}docs.html">Documentation</a>
    <li class='desktoponly'><a href="${path}download.html">Download</a>
    <li class='wideonly'><a href='${path}copyright.html'>License</a>
    <li class='desktoponly'><a href="${path}support.html">Support</a>
    <li class='desktoponly'><a href="${path}prosupport.html">Purchase</a>
    <li class='search' id='search_menubutton'>
    <a href="javascript:void(0)" onclick='toggle_div("searchmenu")'>Search</a>
    <div class="menu submenu" id="submenu">
    <li><a href='${path}docs.html'>Documentation</a>
    <li><a href='${path}support.html'>Support</a>
    <li><a href='${path}prosupport.html'>Purchase</a>
    <div class="searchmenu" id="searchmenu">
    <form method="GET" action="search">
    <span class="desktoponly">Search for:</span> <input type="text" name="q">
    <input type="submit" value="Go">

  append ret [subst -nocommands {
      function toggle_div(nm) {
        var w = document.getElementById(nm);
        if("block" ){
 = "none";
 = "block";
      function div_off(nm){document.getElementById(nm).style.display="none";}
      window.onbeforeunload = function(e){div_off("submenu");}

      /* Disable the Search feature if we are not operating from CGI, since */
      /* Search is accomplished using CGI and will not work without it. */
      if( !location.origin.match(/http/) ){
        document.getElementById("search_menubutton").style.display = "none";
      /* Set the cookie named "name" to value "value". Expires in "days" days. */
      function createCookie(name,value,days) {
        if (days) {
          var date = new Date();
          var expires = "; expires="+date.toGMTString();
          var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";

      ** Return the value of cookie "name".
      function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
          var c = ca[i];
          while (c.charAt(0)==' ') c = c.substring(1,c.length);
          if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
        return null;

      ** Delete cookie "name".
      function eraseCookie(name) {

      function hideorshow(btn,obj){
        var x = document.getElementById(obj);
        var b = document.getElementById(btn);
        if(!='none' ){
 = 'none';
 = '';
        return false;

  regsub -all {\n+\s+} [string trim $ret] \n ret
  regsub -all {\s*/\*[- a-z0-9A-Z"*\n]+\*/} $ret {} ret
  return $ret