aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-08-06 17:35:21 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2011-08-06 17:35:21 +0000
commitf2be282bc9dc4adcde2f5ee09257cc8ac87d8ad7 (patch)
tree32e0952f64213311780b1b03aaf67e548170270c /doc
parent395ec74de6840eab37ea29929e859727ca2bbd19 (diff)
downloadgdbm-f2be282bc9dc4adcde2f5ee09257cc8ac87d8ad7.tar.gz
gdbm-f2be282bc9dc4adcde2f5ee09257cc8ac87d8ad7.tar.bz2
Update docs.
* doc/Config: New file. * doc/gendocs_template: Rewrite for the new site layout.
Diffstat (limited to 'doc')
-rw-r--r--doc/Config365
-rw-r--r--doc/gendocs_template33
2 files changed, 376 insertions, 22 deletions
diff --git a/doc/Config b/doc/Config
new file mode 100644
index 0000000..1038868
--- /dev/null
+++ b/doc/Config
@@ -0,0 +1,365 @@
+# Texi2html configuration for Gdbm documentation. -*- perl -*-
+# Copyright (C) 2011 Sergey Poznyakoff
+#
+# Gdbm is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# Gdbm is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Gdbm. If not, see <http://www.gnu.org/licenses/>.
+
+$top_html_dir="/software/gdbm";
+$graphics_dir="$top_html_dir/graphics";
+
+## texi2html configuration
+
+# Show TOC in place of the @contents directive.
+$INLINE_CONTENTS = 1;
+# Do not show Texinfo menus.
+$SHOW_MENU = 0;
+# Inhibit output of CSS lines in page headers.
+$CSS_LINES='';
+# Print footnotes at the end of each file (if the document is split).
+$SEPARATED_FOOTNOTES = 0;
+
+$BODYTEXT = "";
+
+$EXTRA_HEAD="\
+ <link rev=\"made\" href=\"mailto:gray@gnu.org.ua\">\
+ <link rel=\"stylesheet\" type=\"text/css\" href=\"${top_html_dir}/gray.css\">\
+ <link rel=\"stylesheet\" type=\"text/css\" href=\"${top_html_dir}/texi.css\">\
+ <link rel=\"icon\" type=\"image/png\" href=\"/graphics/gnu-head-icon.png\">";
+
+$AFTER_BODY_OPEN=qq{
+<!--#include virtual=\"${top_html_dir}/inc/header.html\" -->
+<ul class='tabs'>
+ <li><a href="${top_html_dir}/gdbm.html">Main</a></li>
+ <li><a href="${top_html_dir}/download.html">Downloads</a></li>
+ <li><a class="active" href="${top_html_dir}/manual.html">Documentation</a></li>
+</ul>
+};
+
+$PRE_BODY_CLOSE="Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.";
+
+$format_map{'multitable'}='table class="multitable"';
+
+$SMALL_RULE = '';
+$DEFAULT_RULE = '';
+$MIDDLE_RULE = '';
+# This is output at the end of a section.
+$BIG_RULE = '';
+
+# Use navigation icons
+$ICONS = 1;
+%ACTIVE_ICONS =
+ (
+ 'Top', "$graphics_dir/top.png",
+ 'Contents', "$graphics_dir/ctx.png",
+ 'Overview', '',
+ 'Index', "$graphics_dir/idx.png",
+ 'This', '',
+ 'Back', "$graphics_dir/left.png",
+ 'FastBack', "$graphics_dir/bwd.png",
+ 'Prev', "",
+ 'Up', "$graphics_dir/up.png",
+ 'Next', "$graphics_dir/right.png",
+ 'NodeUp', "$graphics_dir/left.png",
+ 'NodeNext', "$graphics_dir/up.png",
+ 'NodePrev', "$graphics_dir/right.png",
+ 'Following', "$graphics_dir/right.png",
+ 'Forward', "$graphics_dir/right.png",
+ 'FastForward', "$graphics_dir/fwd.png",
+ 'About' , '',
+ 'First', '',
+ 'Last', '',
+ ' ', ''
+ );
+
+@SECTION_BUTTONS =
+ (
+ \&gray_document_title,
+ \&gray_sec_ref,
+ 'Back', 'Forward',
+ \&gray_chap_ref, 'FastBack', 'Up', 'FastForward',
+ \&gray_doc_ref,
+ 'Contents', 'Index',
+ ' ','About',
+ );
+
+@SECTION_FOOTER_BUTTONS = @SECTION_BUTTONS;
+@NODE_FOOTER_BUTTONS = @SECTION_BUTTONS;
+
+# buttons for misc stuff
+@MISC_BUTTONS = (
+ \&gray_document_title,
+ 'Contents',
+ 'Index',
+ ' ',
+ 'About'
+ );
+
+
+$print_section = \&gray_print_section;
+$print_navigation = \&gray_print_navigation;
+$print_head_navigation = \&gray_print_head_navigation;
+$print_foot_navigation = \&gray_print_foot_navigation;
+$print_About = \&gray_print_About;
+$cell = \&gray_multitable_cell;
+$print_page_foot = \&gray_print_page_foot;
+
+sub gray_multitable_cell($$)
+{
+ my $text = shift;
+ my $row_macro = shift;
+
+ $text =~ s/<p>//;
+ $text =~ s/<\/p>//;
+ if ($row_macro eq 'headitem')
+ {
+ return '<th>' . $text . '</th>';
+ }
+ return '<td>' . $text . '</td>';
+}
+
+sub gray_print_About
+{
+ return &$print_misc(@_) if (!($SPLIT eq '') or $SECTION_NAVIGATION);
+}
+
+sub gray_split_status()
+{
+ if ($SPLIT eq '') {
+ return '';
+ } elsif ($SPLIT eq 'node') {
+ return ' <span class="splitstatus">(split by node)</span>';
+ } elsif ($SPLIT eq 'section') {
+ return ' <span class="splitstatus">(split by section)</span>';
+ } elsif ($SPLIT eq 'chapter') {
+ return ' <span class="splitstatus">(split by chapter)</span>';
+ }
+}
+
+sub gray_document_title($$)
+{
+ my $fh = shift;
+ my $vertical = shift;
+ my $status = gray_split_status();
+ print $fh qq{<td class="title">} . $Texi2HTML::THISDOC{title} . $status . ":</td>\n";
+}
+
+sub gray_node_ref($$)
+{
+ my $fh = shift;
+ my $vertical = shift;
+ print $fh qq{<span class="navtext">Node:</span>};
+}
+
+sub gray_sec_ref($$)
+{
+ my $fh = shift;
+ my $vertical = shift;
+ print $fh qq{<span class="navtext">Section:</span>};
+}
+
+sub gray_chap_ref($$)
+{
+ my $fh = shift;
+ my $vertical = shift;
+ print $fh qq{<span class="navtext">Chapter:</span>};
+}
+
+sub gray_doc_ref($$)
+{
+ my $fh = shift;
+ my $vertical = shift;
+ print $fh qq{<span class="navtext">Doc:</span>};
+}
+
+sub gray_print_navigation
+{
+ my $fh = shift;
+ my $buttons = shift;
+ my $vertical = shift;
+ my $spacing = 1;
+ my $class="nav";
+
+ print $fh qq{<table class="nav">\n};
+
+ print $fh "<tr>" unless $vertical;
+ for my $button (@$buttons)
+ {
+ if ($button =~ /^\@class=(.*)/) {
+ $class = "$class $1";
+ next;
+ }
+ print $fh "<tr>\n" if $vertical;
+ print $fh qq{<td class="$class">};
+
+ if (ref($button) eq 'CODE')
+ {
+ &$button($fh, $vertical);
+ }
+ elsif (ref($button) eq 'SCALAR')
+ {
+ print $fh "$$button" if defined($$button);
+ }
+ elsif (ref($button) eq 'ARRAY')
+ {
+ my $text = $button->[1];
+ my $button_href = $button->[0];
+ # verify that $button_href is simple text and text is a reference
+ if (defined($button_href) and !ref($button_href)
+ and defined($text) and (ref($text) eq 'SCALAR') and defined($$text))
+ { # use given text
+ if ($Texi2HTML::HREF{$button_href})
+ {
+ print $fh "" .
+ &$anchor('',
+ $Texi2HTML::HREF{$button_href},
+ $$text
+ )
+ ;
+ }
+ else
+ {
+ print $fh $$text;
+ }
+ }
+ }
+ elsif ($button eq ' ')
+ { # handle space button
+ print $fh
+ ($ICONS && $ACTIVE_ICONS{' '}) ?
+ &$button_icon_img($BUTTONS_NAME{$button}, $ACTIVE_ICONS{' '}) :
+ $NAVIGATION_TEXT{' '};
+ #next;
+ }
+ elsif ($Texi2HTML::HREF{$button})
+ { # button is active
+ my $btitle = $BUTTONS_GOTO{$button} ?
+ 'title="' . $BUTTONS_GOTO{$button} . '"' : '';
+ if ($ICONS && $ACTIVE_ICONS{$button})
+ { # use icon
+ print $fh '' .
+ &$anchor('',
+ $Texi2HTML::HREF{$button},
+ &$button_icon_img($BUTTONS_NAME{$button},
+ $ACTIVE_ICONS{$button},
+ $Texi2HTML::SIMPLE_TEXT{$button}),
+ $btitle
+ );
+ }
+ else
+ { # use text
+ print $fh
+ '' .
+ &$anchor('',
+ $Texi2HTML::HREF{$button},
+ $NAVIGATION_TEXT{$button},
+ $btitle
+ );
+ }
+ }
+ else { # button is passive
+ print $fh '<span class="passive">' .
+ ($ICONS && $PASSIVE_ICONS{$button} ?
+ &$button_icon_img($BUTTONS_NAME{$button},
+ $PASSIVE_ICONS{$button},
+ $Texi2HTML::SIMPLE_TEXT{$button}) :
+
+ $NAVIGATION_TEXT{$button}) . '</span>';
+ }
+ print $fh "</td>\n";
+ print $fh "</tr>\n" if $vertical;
+ $class = "nav";
+ }
+ print $fh "</tr>" unless $vertical;
+ print $fh "</table>\n";
+}
+
+sub gray_print_head_navigation($$)
+{
+ my $fh = shift;
+ my $buttons = shift;
+
+ return if ($SPLIT eq '');
+ if ($VERTICAL_HEAD_NAVIGATION)
+ {
+ print $fh <<EOT;
+<table class='nav'>
+<tr>
+<td>
+EOT
+ }
+ main::print_lines($fh, $Texi2HTML::THIS_HEADER);
+ &$print_navigation($fh, $buttons, $VERTICAL_HEAD_NAVIGATION);
+ if ($VERTICAL_HEAD_NAVIGATION)
+ {
+ print $fh <<EOT;
+</td>
+<td>
+EOT
+ }
+}
+
+sub gray_print_foot_navigation
+{
+ my $fh = shift;
+
+ return if ($SPLIT eq '');
+ if ($VERTICAL_HEAD_NAVIGATION)
+ {
+ print $fh <<EOT;
+</td>
+</tr>
+</table>
+EOT
+ }
+}
+
+sub gray_print_page_foot($)
+{
+ my $fh = shift;
+ my $program_string = program_string();
+ print $fh <<EOT;
+<div class="copyright">
+$program_string
+EOT
+ if (defined($PRE_BODY_CLOSE) && $PRE_BODY_CLOSE) {
+ print $fh "<p>$PRE_BODY_CLOSE</p>";
+ }
+ print $fh <<EOT;
+</div>
+</div> <!-- content -->
+</body>
+</html>
+EOT
+}
+
+sub gray_print_section
+{
+ my $fh = shift;
+ my $first_in_page = shift;
+ my $previous_is_top = shift;
+ my $buttons = \@SECTION_BUTTONS;
+
+ if ($first_in_page) {
+ &$print_head_navigation($fh, $buttons)
+ } else {
+ main::print_lines($fh, $Texi2HTML::THIS_HEADER);
+ }
+ my $nw = main::print_lines($fh);
+ if (defined $SPLIT
+ and ($SPLIT eq 'node')) {
+ &$print_foot_navigation($fh);
+ print $fh "$SMALL_RULE\n";
+ &$print_navigation($fh, \@NODE_FOOTER_BUTTONS) if (!defined($WORDS_IN_PAGE) or (defined ($nw)
+ and $nw >= $WORDS_IN_PAGE));
+ }
+}
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 5636214..e192d11 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -1,29 +1,17 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<!-- $Id$ -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-
-<head>
-<title>%%TITLE%% - GNU Project - Free Software Foundation (FSF)</title>
-<meta http-equiv="content-type" content='text/html; charset=utf-8' />
-<link rel="stylesheet" type="text/css" href="/gnu.css" />
-<link rev="made" href="mailto:gray@gnu.org" />
- <link rel="icon" type="image/png" href="/graphics/gnu-head-icon.png" />
-</head>
-
-<!-- This document is in XML, and xhtml 1.0 -->
-<!-- Please make sure to properly nest your tags -->
-<!-- and ensure that your final document validates -->
-<!-- consistent with W3C xhtml 1.0 and CSS standards -->
-<!-- See validator.w3.org -->
+<!-- -*- html -*- -->
+<!--#include virtual="inc/pagehdr.html" -->
+<!--#include virtual="inc/header.html" -->
+<ul class='tabs'>
+ <li><a href="%%PACKAGE%%.html">Main</a></li>
+ <li><a href="download.html">Downloads</a></li>
+ <li><a class="active" href="manual.html">Documentation</a></li>
+</ul>
-<body>
<div id="main">
<p>The manual for <b>%%PACKAGE%%</b> is available in the following formats:</p>
<ul>
- <li><a href="manual/%%PACKAGE%%.html">HTML
+ <li><a href="manual/%%PACKAGE%%.html">HTML
(%%HTML_MONO_SIZE%%K bytes)</a> - entirely on one web page.</li>
<li><a href="manual/html_node/index.html">HTML</a> - with one web page per
node.</li>
@@ -36,7 +24,7 @@
chapter.</li>
%%ENDIF HTML_CHAPTER%%
<li><a href="manual/%%PACKAGE%%.html.gz">HTML compressed
- (%%HTML_MONO_GZ_SIZE%%K gzipped characters)</a> - entirely on
+ (%%HTML_MONO_GZ_SIZE%%K gzipped characters)</a> - entirely on
one web page.</li>
<li><a href="manual/%%PACKAGE%%.html_node.tar.gz">HTML compressed
(%%HTML_NODE_TGZ_SIZE%%K gzipped tar file)</a> -
@@ -75,5 +63,6 @@ href="%%SCRIPTURL%%">%%SCRIPTNAME%%</a> script.)
</p>
</div>
+<!--#include virtual="inc/footer.html" -->
</body>
</html>

Return to:

Send suggestions and report system problems to the System administrator.