mirror of
git://git.gnu.org.ua/pam-modules.git
synced 2025-04-25 16:09:54 +03:00
Switch to Texinfo 5.0
* doc/Config: Rewrite. * doc/Makefile.am: Use Makeinfo 5 instead of texi2htm * doc/gendocs_template: Ps is not built * imprimatur: Upgrade.
This commit is contained in:
parent
7974dd9073
commit
176430825d
5 changed files with 604 additions and 317 deletions
404
doc/Config
404
doc/Config
|
@ -1,4 +1,4 @@
|
|||
# Texi2html configuration for PAM-Modules documentation. -*- perl -*-
|
||||
# Texi2any configuration for pam-modules documentation. -*- perl -*-
|
||||
# Copyright (C) 2009, 2012, 2014-2015 Sergey Poznyakoff
|
||||
#
|
||||
# PAM-Modules is free software; you can redistribute it and/or modify
|
||||
|
@ -13,352 +13,150 @@
|
|||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PAM-Modules. If not, see <http://www.gnu.org/licenses/>.
|
||||
use strict;
|
||||
|
||||
$top_html_dir="/software/pam-modules";
|
||||
$graphics_dir="$top_html_dir/graphics";
|
||||
|
||||
## texi2html configuration
|
||||
|
||||
my $top_html_dir="/software/pam-modules";
|
||||
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}/pam-modules.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>};
|
||||
</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"';
|
||||
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
|
||||
|
||||
$SMALL_RULE = '';
|
||||
$DEFAULT_RULE = '';
|
||||
$MIDDLE_RULE = '';
|
||||
# This is output at the end of a section.
|
||||
$BIG_RULE = '';
|
||||
$pre_body_close
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
";
|
||||
}
|
||||
|
||||
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 generating program name at the bottom of a page.
|
||||
set_from_init_file('PROGRAM_NAME_IN_FOOTER',1);
|
||||
|
||||
# Disable horizontal bars
|
||||
set_from_init_file('DEFAULT_RULE', '');
|
||||
set_from_init_file('BIG_RULE', '');
|
||||
|
||||
# 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
|
||||
$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',
|
||||
);
|
||||
set_from_init_file('ICONS', 1);
|
||||
|
||||
@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')
|
||||
set_from_init_file('ACTIVE_ICONS',
|
||||
{
|
||||
return '<th>' . $text . '</th>';
|
||||
}
|
||||
return '<td>' . $text . '</td>';
|
||||
}
|
||||
|
||||
sub gray_print_About
|
||||
{
|
||||
return &$print_misc(@_) if (!($SPLIT eq '') or $SECTION_NAVIGATION);
|
||||
}
|
||||
'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>};
|
||||
return q{<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>
|
||||
</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'
|
||||
]);
|
||||
|
|
|
@ -79,7 +79,7 @@ check-log-options:
|
|||
'/@set MODULE pam_log/,/@set MODULE/{s/@value{MODULE}/pam_log/g;there;:here;s/@opindex *\([^@,]*\),.*@command{pam_log}.*/\1/;t lab;b;: lab;{s/^-//;s/^no//;p;}}' \
|
||||
$(top_srcdir)/pam_log/*.c -- \
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
|
||||
$(info_TEXINFOS) ;
|
||||
$(info_TEXINFOS) ;
|
||||
|
||||
|
||||
check-all-options:
|
||||
|
@ -99,7 +99,7 @@ check-sql-config:
|
|||
's/@kwindex *\([^@,]*\).*/\1/p' \
|
||||
$(top_srcdir)/pam_sql/*.c -- \
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
|
||||
$(info_TEXINFOS)
|
||||
$(info_TEXINFOS)
|
||||
|
||||
check-ldaphome-config:
|
||||
@$(CHECK_DOCS) 'pam_ldaphome configuration keywords' \
|
||||
|
@ -107,7 +107,7 @@ check-ldaphome-config:
|
|||
's/@deffn *{pam_ldaphome config} *\([a-zA-Z_][a-zA-Z0-9_-]*\) .*/\1/p' \
|
||||
$(top_srcdir)/pam_ldaphome/pam_ldaphome.c -- \
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
|
||||
$(info_TEXINFOS)
|
||||
$(info_TEXINFOS)
|
||||
|
||||
|
||||
check-options: \
|
||||
|
@ -117,7 +117,7 @@ check-options: \
|
|||
|
||||
all-check-docs: imprimatur-basic-checks check-options check-sql-config
|
||||
|
||||
check-docs:
|
||||
check-docs:
|
||||
$(MAKE) -k all-check-docs
|
||||
#
|
||||
|
||||
|
@ -131,9 +131,10 @@ final: imprimatur-final
|
|||
# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition.
|
||||
RENDITION = DISTRIB
|
||||
|
||||
GENDOCS=gendocs.sh
|
||||
GENDOCS=$(srcdir)/gendocs.sh
|
||||
EXTRA_DIST += gendocs.sh
|
||||
|
||||
TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
|
||||
TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -I $(top_srcdir)/imprimatur
|
||||
|
||||
# Make sure you set TEXINPUTS.
|
||||
# TEXINPUTS=/usr/share/texmf/pdftex/plain/misc/ is ok for most distributions
|
||||
|
@ -142,7 +143,7 @@ manual:
|
|||
TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS) $(AM_MAKEINFOFLAGS)" \
|
||||
TEXI2DVI="$(TEXI2DVI) -t @finalout" \
|
||||
$(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
|
||||
$(GENDOCS) --no-copy-images $(PACKAGE) '$(PACKAGE_NAME) manual'
|
||||
|
||||
manual.tar.bz2: manual
|
||||
tar cfj manual.tar.bz2 manual
|
||||
|
|
490
doc/gendocs.sh
Executable file
490
doc/gendocs.sh
Executable file
|
@ -0,0 +1,490 @@
|
|||
#!/bin/sh -e
|
||||
# gendocs.sh -- generate a GNU manual in many formats. This script is
|
||||
# mentioned in maintain.texi. See the help message below for usage details.
|
||||
|
||||
scriptversion=2015-02-28.17
|
||||
|
||||
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
||||
# Free Software Foundation, Inc.
|
||||
#
|
||||
# This program 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Original author: Mohit Agarwal.
|
||||
# Send bug reports and any other correspondence to bug-texinfo@gnu.org.
|
||||
#
|
||||
# The latest version of this script, and the companion template, is
|
||||
# available from Texinfo CVS:
|
||||
# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh
|
||||
# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template
|
||||
#
|
||||
# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
|
||||
|
||||
# TODO:
|
||||
# - image importation was only implemented for HTML generated by
|
||||
# makeinfo. But it should be simple enough to adjust.
|
||||
# - images are not imported in the source tarball. All the needed
|
||||
# formats (PDF, PNG, etc.) should be included.
|
||||
|
||||
prog=`basename "$0"`
|
||||
srcdir=`pwd`
|
||||
|
||||
scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh"
|
||||
templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template"
|
||||
|
||||
: ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="}
|
||||
: ${MAKEINFO="makeinfo"}
|
||||
: ${TEXI2DVI="texi2dvi -t @finalout"}
|
||||
: ${DOCBOOK2HTML="docbook2html"}
|
||||
: ${DOCBOOK2PDF="docbook2pdf"}
|
||||
: ${DOCBOOK2TXT="docbook2txt"}
|
||||
: ${GENDOCS_TEMPLATE_DIR="."}
|
||||
: ${PERL='perl'}
|
||||
: ${TEXI2HTML="texi2html"}
|
||||
unset CDPATH
|
||||
unset use_texi2html
|
||||
|
||||
version="gendocs.sh $scriptversion
|
||||
|
||||
Copyright 2013 Free Software Foundation, Inc.
|
||||
There is NO warranty. You may redistribute this software
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING."
|
||||
|
||||
usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE
|
||||
|
||||
Generate output in various formats from PACKAGE.texinfo (or .texi or
|
||||
.txi) source. See the GNU Maintainers document for a more extensive
|
||||
discussion:
|
||||
http://www.gnu.org/prep/maintain_toc.html
|
||||
|
||||
Options:
|
||||
--email ADR use ADR as contact in generated web pages; always give this.
|
||||
|
||||
-s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
|
||||
-o OUTDIR write files into OUTDIR, instead of manual/.
|
||||
-I DIR append DIR to the Texinfo search path.
|
||||
--common ARG pass ARG in all invocations.
|
||||
--html ARG pass ARG to makeinfo or texi2html for HTML targets.
|
||||
--info ARG pass ARG to makeinfo for Info, instead of --no-split.
|
||||
--no-ascii skip generating the plain text output.
|
||||
--no-copy-images
|
||||
don't try to copy images referenced by img HTML tags,
|
||||
--source ARG include ARG in tar archive of sources.
|
||||
--split HOW make split HTML by node, section, chapter; default node.
|
||||
|
||||
--texi2html use texi2html to make HTML target, with all split versions.
|
||||
--docbook convert through DocBook too (xml, txt, html, pdf).
|
||||
|
||||
--help display this help and exit successfully.
|
||||
--version display version information and exit successfully.
|
||||
|
||||
Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\"
|
||||
|
||||
Typical sequence:
|
||||
cd PACKAGESOURCE/doc
|
||||
wget \"$scripturl\"
|
||||
wget \"$templateurl\"
|
||||
$prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\"
|
||||
|
||||
Output will be in a new subdirectory \"manual\" (by default;
|
||||
use -o OUTDIR to override). Move all the new files into your web CVS
|
||||
tree, as explained in the Web Pages node of maintain.texi.
|
||||
|
||||
Please use the --email ADDRESS option so your own bug-reporting
|
||||
address will be used in the generated HTML pages.
|
||||
|
||||
MANUAL-TITLE is included as part of the HTML <title> of the overall
|
||||
manual/index.html file. It should include the name of the package being
|
||||
documented. manual/index.html is created by substitution from the file
|
||||
$GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the
|
||||
generic template for your own purposes.)
|
||||
|
||||
If you have several manuals, you'll need to run this script several
|
||||
times with different MANUAL values, specifying a different output
|
||||
directory with -o each time. Then write (by hand) an overall index.html
|
||||
with links to them all.
|
||||
|
||||
If a manual's Texinfo sources are spread across several directories,
|
||||
first copy or symlink all Texinfo sources into a single directory.
|
||||
(Part of the script's work is to make a tar.gz of the sources.)
|
||||
|
||||
As implied above, by default monolithic Info files are generated.
|
||||
If you want split Info, or other Info options, use --info to override.
|
||||
|
||||
You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML,
|
||||
and PERL to control the programs that get executed, and
|
||||
GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is
|
||||
looked for. With --docbook, the environment variables DOCBOOK2HTML,
|
||||
DOCBOOK2PDF, and DOCBOOK2TXT are also consulted.
|
||||
|
||||
By default, makeinfo and texi2dvi are run in the default (English)
|
||||
locale, since that's the language of most Texinfo manuals. If you
|
||||
happen to have a non-English manual and non-English web site, see the
|
||||
SETLANG setting in the source.
|
||||
|
||||
Email bug reports or enhancement requests to bug-texinfo@gnu.org.
|
||||
"
|
||||
|
||||
MANUAL_TITLE=
|
||||
PACKAGE=
|
||||
EMAIL=webmasters@gnu.org # please override with --email
|
||||
commonarg= # passed to all makeinfo/texi2html invcations.
|
||||
dirargs= # passed to all tools (-I dir).
|
||||
dirs= # -I's directories.
|
||||
htmlarg=
|
||||
infoarg=--no-split
|
||||
generate_ascii=true
|
||||
outdir=manual
|
||||
source_extra=
|
||||
split=default
|
||||
srcfile=
|
||||
no_copy_images=
|
||||
|
||||
while test $# -gt 0; do
|
||||
case $1 in
|
||||
-s) shift; srcfile=$1;;
|
||||
-o) shift; outdir=$1;;
|
||||
-I) shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";;
|
||||
--common) shift; commonarg=$1;;
|
||||
--docbook) docbook=yes;;
|
||||
--email) shift; EMAIL=$1;;
|
||||
--html) shift; htmlarg=$1;;
|
||||
--info) shift; infoarg=$1;;
|
||||
--no-ascii) generate_ascii=false;;
|
||||
--source) shift; source_extra=$1;;
|
||||
--split) shift; split=$1;;
|
||||
--texi2html) use_texi2html=1;;
|
||||
--no-copy-images) no_copy_images=1;;
|
||||
--help) echo "$usage"; exit 0;;
|
||||
--version) echo "$version"; exit 0;;
|
||||
-*)
|
||||
echo "$0: Unknown option \`$1'." >&2
|
||||
echo "$0: Try \`--help' for more information." >&2
|
||||
exit 1;;
|
||||
*)
|
||||
if test -z "$PACKAGE"; then
|
||||
PACKAGE=$1
|
||||
elif test -z "$MANUAL_TITLE"; then
|
||||
MANUAL_TITLE=$1
|
||||
else
|
||||
echo "$0: extra non-option argument \`$1'." >&2
|
||||
exit 1
|
||||
fi;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# makeinfo uses the dirargs, but texi2dvi doesn't.
|
||||
commonarg=" $dirargs $commonarg"
|
||||
|
||||
# For most of the following, the base name is just $PACKAGE
|
||||
base=$PACKAGE
|
||||
|
||||
if test -n "$srcfile"; then
|
||||
# but here, we use the basename of $srcfile
|
||||
base=`basename "$srcfile"`
|
||||
case $base in
|
||||
*.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;;
|
||||
esac
|
||||
PACKAGE=$base
|
||||
elif test -s "$srcdir/$PACKAGE.texinfo"; then
|
||||
srcfile=$srcdir/$PACKAGE.texinfo
|
||||
elif test -s "$srcdir/$PACKAGE.texi"; then
|
||||
srcfile=$srcdir/$PACKAGE.texi
|
||||
elif test -s "$srcdir/$PACKAGE.txi"; then
|
||||
srcfile=$srcdir/$PACKAGE.txi
|
||||
else
|
||||
echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then
|
||||
echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2
|
||||
echo "$0: it is available from $templateurl." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Function to return size of $1 in something resembling kilobytes.
|
||||
calcsize()
|
||||
{
|
||||
size=`ls -ksl $1 | awk '{print $1}'`
|
||||
echo $size
|
||||
}
|
||||
|
||||
# copy_images OUTDIR HTML-FILE...
|
||||
# -------------------------------
|
||||
# Copy all the images needed by the HTML-FILEs into OUTDIR. Look
|
||||
# for them in the -I directories.
|
||||
copy_images()
|
||||
{
|
||||
test -n "$no_copy_images" && return
|
||||
local odir
|
||||
odir=$1
|
||||
shift
|
||||
$PERL -n -e "
|
||||
BEGIN {
|
||||
\$me = '$prog';
|
||||
\$odir = '$odir';
|
||||
@dirs = qw($dirs);
|
||||
}
|
||||
" -e '
|
||||
/<img src="(.*?)"/g && ++$need{$1};
|
||||
|
||||
END {
|
||||
#print "$me: @{[keys %need]}\n"; # for debugging, show images found.
|
||||
FILE: for my $f (keys %need) {
|
||||
for my $d (@dirs) {
|
||||
if (-f "$d/$f") {
|
||||
use File::Basename;
|
||||
my $dest = dirname ("$odir/$f");
|
||||
#
|
||||
use File::Path;
|
||||
-d $dest || mkpath ($dest)
|
||||
|| die "$me: cannot mkdir $dest: $!\n";
|
||||
#
|
||||
use File::Copy;
|
||||
copy ("$d/$f", $dest)
|
||||
|| die "$me: cannot copy $d/$f to $dest: $!\n";
|
||||
next FILE;
|
||||
}
|
||||
}
|
||||
die "$me: $ARGV: cannot find image $f\n";
|
||||
}
|
||||
}
|
||||
' -- "$@" || exit 1
|
||||
}
|
||||
|
||||
case $outdir in
|
||||
/*) abs_outdir=$outdir;;
|
||||
*) abs_outdir=$srcdir/$outdir;;
|
||||
esac
|
||||
|
||||
echo "Making output for $srcfile"
|
||||
echo " in `pwd`"
|
||||
mkdir -p "$outdir/"
|
||||
|
||||
cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
|
||||
echo "Generating info... ($cmd)"
|
||||
rm -f $PACKAGE.info* # get rid of any strays
|
||||
eval "$cmd"
|
||||
tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
|
||||
ls -l "$outdir/$PACKAGE.info.tar.gz"
|
||||
info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
|
||||
# do not mv the info files, there's no point in having them available
|
||||
# separately on the web.
|
||||
|
||||
cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
|
||||
printf "\nGenerating dvi... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
# compress/finish dvi:
|
||||
gzip -f -9 $PACKAGE.dvi
|
||||
dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
|
||||
mv $PACKAGE.dvi.gz "$outdir/"
|
||||
ls -l "$outdir/$PACKAGE.dvi.gz"
|
||||
|
||||
cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
|
||||
printf "\nGenerating pdf... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
pdf_size=`calcsize $PACKAGE.pdf`
|
||||
mv $PACKAGE.pdf "$outdir/"
|
||||
ls -l "$outdir/$PACKAGE.pdf"
|
||||
|
||||
if $generate_ascii; then
|
||||
opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
printf "\nGenerating ascii... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
ascii_size=`calcsize $PACKAGE.txt`
|
||||
gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
|
||||
ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
|
||||
mv $PACKAGE.txt "$outdir/"
|
||||
ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz"
|
||||
fi
|
||||
|
||||
# Split HTML at level $2 using program $1. Used for texi2html.
|
||||
html_split()
|
||||
{
|
||||
opt="--split=$2 --node-files $commonarg $htmlarg"
|
||||
cmd="$SETLANG $1 --output $PACKAGE.html $opt \"$srcfile\""
|
||||
printf "\nGenerating html by $2... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
split_html_dir=$PACKAGE.html
|
||||
(
|
||||
cd ${split_html_dir} || exit 1
|
||||
if test ! -e index.html; then
|
||||
if test -f ${PACKAGE}.html; then
|
||||
ln -sf ${PACKAGE}.html index.html
|
||||
else
|
||||
echo >&2 "$0: ${split_html_dir}/${PACKAGE}.html does not exist"
|
||||
fi
|
||||
fi
|
||||
tar -czf "$abs_outdir/${PACKAGE}.html_$2.tar.gz" -- *.html
|
||||
)
|
||||
eval html_$2_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$2.tar.gz"`
|
||||
rm -f "$outdir"/html_$2/*.html
|
||||
mkdir -p "$outdir/html_$2/"
|
||||
mv ${split_html_dir}/*.html "$outdir/html_$2/"
|
||||
rmdir ${split_html_dir}
|
||||
}
|
||||
|
||||
if test -z "$use_texi2html"; then
|
||||
opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
printf "\nGenerating monolithic html... ($cmd)\n"
|
||||
rm -rf $PACKAGE.html # in case a directory is left over
|
||||
eval "$cmd"
|
||||
html_mono_size=`calcsize $PACKAGE.html`
|
||||
gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
|
||||
html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
|
||||
copy_images "$outdir/" $PACKAGE.html
|
||||
mv $PACKAGE.html "$outdir/"
|
||||
ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz"
|
||||
|
||||
version=`makeinfo --version|sed -n '1s/.* \([0-9][0-9]*\)\.[0-9.]*/\1/p'`
|
||||
case $version in
|
||||
[0-9]*) ;;
|
||||
*) version=4;;
|
||||
esac
|
||||
# Before Texinfo 5.0, makeinfo did not accept a --split=HOW option,
|
||||
# it just always split by node. So if we're splitting by node anyway,
|
||||
# leave it out.
|
||||
if test $version -lt 5 -o "x$split" != xdefault; then
|
||||
split_arg=--split=$split
|
||||
opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
printf "\nGenerating html by $split... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
split_html_dir=$PACKAGE.html
|
||||
copy_images $split_html_dir/ $split_html_dir/*.html
|
||||
(
|
||||
cd $split_html_dir || exit 1
|
||||
tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- *
|
||||
)
|
||||
eval \
|
||||
html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"`
|
||||
rm -rf "$outdir/html_$split/"
|
||||
mv $split_html_dir "$outdir/html_$split/"
|
||||
du -s "$outdir/html_$split/"
|
||||
ls -l "$outdir/$PACKAGE.html_$split.tar.gz"
|
||||
CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\
|
||||
/%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d"
|
||||
else
|
||||
html_split "$MAKEINFO --html" node
|
||||
html_split "$MAKEINFO --html" chapter
|
||||
html_split "$MAKEINFO --html" section
|
||||
# should take account of --split here.
|
||||
CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
|
||||
fi
|
||||
else # use texi2html:
|
||||
opt="--output $PACKAGE.html $commonarg $htmlarg"
|
||||
cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\""
|
||||
printf "\nGenerating monolithic html with texi2html... ($cmd)\n"
|
||||
rm -rf $PACKAGE.html # in case a directory is left over
|
||||
eval "$cmd"
|
||||
html_mono_size=`calcsize $PACKAGE.html`
|
||||
gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
|
||||
html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
|
||||
mv $PACKAGE.html "$outdir/"
|
||||
|
||||
html_split "$TEXI2HTML" node
|
||||
html_split "$TEXI2HTML" chapter
|
||||
html_split "$TEXI2HTML" section
|
||||
CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
|
||||
fi
|
||||
|
||||
printf "\nMaking .tar.gz for sources...\n"
|
||||
d=`dirname $srcfile`
|
||||
(
|
||||
cd "$d"
|
||||
srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true
|
||||
tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
|
||||
ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
|
||||
)
|
||||
texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
|
||||
|
||||
if test -n "$docbook"; then
|
||||
opt="-o - --docbook $commonarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
|
||||
printf "\nGenerating docbook XML... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
docbook_xml_size=`calcsize $PACKAGE-db.xml`
|
||||
gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz"
|
||||
docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"`
|
||||
mv $PACKAGE-db.xml "$outdir/"
|
||||
|
||||
split_html_db_dir=html_node_db
|
||||
opt="$commonarg -o $split_html_db_dir"
|
||||
cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\""
|
||||
printf "\nGenerating docbook HTML... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
(
|
||||
cd ${split_html_db_dir} || exit 1
|
||||
tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html
|
||||
)
|
||||
html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"`
|
||||
rm -f "$outdir"/html_node_db/*.html
|
||||
mkdir -p "$outdir/html_node_db"
|
||||
mv ${split_html_db_dir}/*.html "$outdir/html_node_db/"
|
||||
rmdir ${split_html_db_dir}
|
||||
|
||||
cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\""
|
||||
printf "\nGenerating docbook ASCII... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
docbook_ascii_size=`calcsize $PACKAGE-db.txt`
|
||||
mv $PACKAGE-db.txt "$outdir/"
|
||||
|
||||
cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\""
|
||||
printf "\nGenerating docbook PDF... ($cmd)\n"
|
||||
eval "$cmd"
|
||||
docbook_pdf_size=`calcsize $PACKAGE-db.pdf`
|
||||
mv $PACKAGE-db.pdf "$outdir/"
|
||||
fi
|
||||
|
||||
printf "\nMaking index file...\n"
|
||||
|
||||
curdate=`$SETLANG date '+%B %d, %Y'`
|
||||
sed \
|
||||
-e "s!%%TITLE%%!$MANUAL_TITLE!g" \
|
||||
-e "s!%%EMAIL%%!$EMAIL!g" \
|
||||
-e "s!%%PACKAGE%%!$PACKAGE!g" \
|
||||
-e "s!%%DATE%%!$curdate!g" \
|
||||
-e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \
|
||||
-e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \
|
||||
-e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \
|
||||
-e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \
|
||||
-e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \
|
||||
-e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \
|
||||
-e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \
|
||||
-e "s!%%PDF_SIZE%%!$pdf_size!g" \
|
||||
-e "s!%%ASCII_SIZE%%!$ascii_size!g" \
|
||||
-e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \
|
||||
-e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \
|
||||
-e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \
|
||||
-e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \
|
||||
-e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \
|
||||
-e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \
|
||||
-e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \
|
||||
-e "s,%%SCRIPTURL%%,$scripturl,g" \
|
||||
-e "s!%%SCRIPTNAME%%!$prog!g" \
|
||||
-e "$CONDS" \
|
||||
$GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html"
|
||||
|
||||
echo "Done, see $outdir/ subdirectory for new files."
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
10
doc/gendocs_template
Executable file → Normal file
10
doc/gendocs_template
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
|||
<!-- -*- html -*- -->
|
||||
<!--#include virtual="inc/pagehdr.html" -->
|
||||
<!--#include virtual="inc/header.html" -->
|
||||
<!--#include virtual="inc/pagehdr.html" -->
|
||||
<!--#include virtual="inc/header.html" -->
|
||||
<ul class='tabs'>
|
||||
<li><a href="pam-modules.html">Main</a></li>
|
||||
<li><a href="download.html">Downloads</a></li>
|
||||
|
@ -11,7 +11,7 @@
|
|||
<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>
|
||||
|
@ -24,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> -
|
||||
|
@ -47,8 +47,6 @@
|
|||
(%%ASCII_GZ_SIZE%%K gzipped characters)</a>.</li>
|
||||
<li><a href="manual/%%PACKAGE%%.dvi.gz">TeX dvi file
|
||||
(%%DVI_GZ_SIZE%%K characters gzipped)</a>.</li>
|
||||
<li><a href="manual/%%PACKAGE%%.ps.gz">PostScript file
|
||||
(%%PS_GZ_SIZE%%K characters gzipped)</a>.</li>
|
||||
<li><a href="manual/%%PACKAGE%%.pdf">PDF file
|
||||
(%%PDF_SIZE%%K characters)</a>.</li>
|
||||
<li><a href="manual/%%PACKAGE%%.texi.tar.gz">Texinfo source
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 04255b6d5551952b4e0c94da15988f573e3e9fc4
|
||||
Subproject commit 6ddf5a88dbe7e919f9b40427718bf73798611079
|
Loading…
Add table
Add a link
Reference in a new issue