aboutsummaryrefslogtreecommitdiff
path: root/doc/Config
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Config')
-rw-r--r--doc/Config402
1 files changed, 100 insertions, 302 deletions
diff --git a/doc/Config b/doc/Config
index 12fa9f5..62ee61a 100644
--- a/doc/Config
+++ b/doc/Config
@@ -1,5 +1,5 @@
-# Texi2html configuration for GNU Pies documentation. -*- perl -*-
-# Copyright (C) 2009, 2010, 2013 Sergey Poznyakoff
+# Texi2any configuration for pies documentation. -*- perl -*-
+# Copyright (C) 2009, 2010, 2013, 2015 Sergey Poznyakoff
#
# GNU Pies is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -13,353 +13,151 @@
#
# You should have received a copy of the GNU General Public License
# along with GNU Pies. If not, see <http://www.gnu.org/licenses/>.
+use strict;
-$top_html_dir="/software/pies";
-$graphics_dir="$top_html_dir/graphics";
-
-## texi2html configuration
+my $top_html_dir="/software/pies";
+my $graphics_dir="$top_html_dir/graphics";
# Show TOC in place of the @contents directive.
-$INLINE_CONTENTS = 1;
+set_from_init_file('INLINE_CONTENTS', 1);
# Do not show Texinfo menus.
-$SHOW_MENU = 0;
+set_from_init_file('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;
+set_from_init_file('CSS_LINES', '');
-$BODYTEXT = "";
+set_from_init_file('BODYTEXT', "");
-$EXTRA_HEAD=qq{
- <link rev="made" href="mailto:gray@gnu.org.ua">
+set_from_init_file('EXTRA_HEAD', qq{
+ <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">};
+ <link rel="icon" type="image/png" href="/graphics/gnu-head-icon.png">});
-$AFTER_BODY_OPEN=qq{
+set_from_init_file('AFTER_BODY_OPEN', qq{
<!--#include virtual="${top_html_dir}/inc/header.html" -->
<ul class="tabs">
<li><a href="${top_html_dir}/pies.html">Main</a></li>
<li><a href="${top_html_dir}/example.html">Examples</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', '',
- ' ', ''
- );
+</ul>});
-@SECTION_BUTTONS =
- (
- \&gray_document_title,
- \&gray_sec_ref,
- 'Back', 'Forward',
- \&gray_chap_ref, 'FastBack', 'Up', 'FastForward',
- \&gray_doc_ref,
- 'Contents', 'Index',
- ' ','About',
- );
+sub gray_end_file($)
+{
+ my $self = shift;
+ my $program_text = '';
+ if ($self->get_conf('PROGRAM_NAME_IN_FOOTER')) {
+ my $program_string = &{$self->{'format_program_string'}}($self);
+ $program_text = "<p>
+ $program_string
+</p>";
+ }
+ my $pre_body_close = $self->get_conf('PRE_BODY_CLOSE');
+ $pre_body_close = '' if (!defined($pre_body_close));
+ return "</div>
+<div class=\"copyright\">
+$program_text
-@SECTION_FOOTER_BUTTONS = @SECTION_BUTTONS;
-@NODE_FOOTER_BUTTONS = @SECTION_BUTTONS;
+$pre_body_close
+</div>
+</div>
+</body>
+</html>
+";
+}
-# buttons for misc stuff
-@MISC_BUTTONS = (
- \&gray_document_title,
- 'Contents',
- 'Index',
- ' ',
- 'About'
- );
+texinfo_register_formatting_function('end_file', \&gray_end_file);
+set_from_init_file('PRE_BODY_CLOSE',
+ 'Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.');
-$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;
+# Print generating program name at the bottom of a page.
+set_from_init_file('PROGRAM_NAME_IN_FOOTER',1);
-sub gray_multitable_cell($$)
-{
- my $text = shift;
- my $row_macro = shift;
+# Disable horizontal bars
+set_from_init_file('DEFAULT_RULE', '');
+set_from_init_file('BIG_RULE', '');
- $text =~ s/<p>//;
- $text =~ s/<\/p>//;
- if ($row_macro eq 'headitem')
- {
- return '<th>' . $text . '</th>';
- }
- return '<td>' . $text . '</td>';
-}
+# Turn off footer buttons in section split
+set_from_init_file('SECTION_FOOTER_BUTTONS', undef);
+#set_from_init_file('SECTION_BUTTONS', undef);
+# Turn off navigation bars at the bottom of each section in chapter split mode
+set_from_init_file('HEADERS', undef)
+ if (get_conf('SPLIT') and (get_conf('SPLIT') eq 'chapter'));
+# Use navigation icons
-sub gray_print_About
-{
- return &$print_misc(@_) if (!($SPLIT eq '') or $SECTION_NAVIGATION);
-}
+set_from_init_file('ICONS', 1);
+
+set_from_init_file('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' => '',
+ ' ' => ''
+ });
sub gray_split_status()
{
- if ($SPLIT eq '') {
+ my $split = get_conf('SPLIT');
+ if ($split eq '') {
return '';
- } elsif ($SPLIT eq 'node') {
+ } elsif ($split eq 'node') {
return ' <span class="splitstatus">(split by node)</span>';
- } elsif ($SPLIT eq 'section') {
+ } elsif ($split eq 'section') {
return ' <span class="splitstatus">(split by section)</span>';
- } elsif ($SPLIT eq 'chapter') {
+ } elsif ($split eq 'chapter') {
return ' <span class="splitstatus">(split by chapter)</span>';
}
}
sub gray_document_title($$)
{
- my $fh = shift;
- my $vertical = shift;
+ my $self = shift;
+ my $direction = 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>};
+ return q{<span class="title">} . $self->{title_string} . '</span>' .$status . q{<span class="title">:</span>};
}
sub gray_sec_ref($$)
{
- my $fh = shift;
- my $vertical = shift;
- print $fh qq{<span class="navtext">Section:</span>};
+ return q{<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";
+ return q{<span class="navtext">Chapter:</span>};
}
-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>
-</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));
- }
-}
+my @gray_buttons = (\&gray_document_title, ' ',
+ \&gray_sec_ref, 'Back', 'Forward', ' ',
+ \&gray_chap_ref,
+ 'FastBack', ' ', 'Up', ' ', 'FastForward', ' ',
+ 'Contents', 'Index' );
+set_from_init_file('SECTION_BUTTONS', \@gray_buttons);
+set_from_init_file('CHAPTER_BUTTONS', \@gray_buttons);
+set_from_init_file('MISC_BUTTONS',
+ [\&gray_document_title,
+ 'Contents',
+ 'Index',
+ ' ',
+ 'About'
+ ]);

Return to:

Send suggestions and report system problems to the System administrator.