summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>1999-09-22 19:50:51 (GMT)
committerFred Drake <fdrake@acm.org>1999-09-22 19:50:51 (GMT)
commit191439ab6bc8e4bd6acccae2eca3028a43a9016d (patch)
tree97dad2deb3b5b5b4fdec380c825f0e8bb7b3cc2a
parentd8d179d69d46a07923ad07b70a2d5f5e57f8030a (diff)
downloadcpython-191439ab6bc8e4bd6acccae2eca3028a43a9016d.zip
cpython-191439ab6bc8e4bd6acccae2eca3028a43a9016d.tar.gz
cpython-191439ab6bc8e4bd6acccae2eca3028a43a9016d.tar.bz2
Some updates to allow ../tools/mkhowto to add various bits to the
supplemental l2h initialization file it creates and still get all the right behavior. In particular, it can change the image type and icon location and not get inconsistent results. Some code to help suppress various navigational pages; this might be interesting when generating HTML to create HTML Help documents, since the navigation support creates confusing hits in the full text search. HTML Help also provides a lot of the navigational infrastructure, so duplicating it makes it more tedious to use.
-rw-r--r--Doc/perl/l2hinit.perl132
1 files changed, 86 insertions, 46 deletions
diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index 1019d48..92ad45a 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -33,7 +33,12 @@ $TOP_NAVIGATION = 1;
$BOTTOM_NAVIGATION = 1;
$AUTO_NAVIGATION = 0;
-$BODYTEXT = 'bgcolor="#ffffff"';
+$SUPPRESS_CONTENTS = 0;
+$SUPPRESS_INDEXES = 0;
+
+# these exactly match the python.org colors
+$BODYTEXT = ('bgcolor="#ffffff" text="#000000"'
+ . ' link="#0000bb" vlink="#551a8b" alink="#ff0000"');
$CHILDLINE = "\n<p><hr>\n";
$VERBOSITY = 0;
@@ -86,6 +91,23 @@ sub custom_driver_hook{
print "\nadding $dir to \$TEXINPUTS\n";
}
+# Defining this allows us to remove all table of contents and index
+# processing using an init file; this is required to get rid of the
+# Table of Contents or we'd get a blank page. Based on a suggestion
+# from Ross Moore <ross@ics.mq.edu.au>.
+#
+# Seems to require a more recent version of LaTeX2HTML than I've
+# been using, though.
+#
+sub preprocess{
+ if ($SUPPRESS_CONTENTS) {
+ s/\\(tableofcontents|listof(figures|tables))/\2/g;
+ }
+ if ($SUPPRESS_INDEXES) {
+ s/\\(print|make)index//g;
+ }
+}
+
sub set_icon_size{
my($name, $w, $h) = @_;
@@ -95,22 +117,28 @@ sub set_icon_size{
foreach $name (split(/ /, 'up next previous contents index modules blank')) {
set_icon_size($name, 32, 32);
}
-# The '_motif' is really annoying, and makes the HTML larger with no value
-# added, so strip it off:
-foreach $name (keys %icons) {
- my $icon = $icons{$name};
- # Strip off the wasteful '_motif':
- $icon =~ s/_motif//;
- # Change the greyed-out icons to be blank:
- $icon =~ s/[a-z]*_gr/blank/;
- $icons{$name} = $icon;
+sub adjust_icon_information{
+ # The '_motif' is really annoying, and makes the HTML larger with no value
+ # added, so strip it off:
+ foreach $name (keys %icons) {
+ my $icon = $icons{$name};
+ # Strip off the wasteful '_motif':
+ $icon =~ s/_motif//;
+ # Change the greyed-out icons to be blank:
+ $icon =~ s/[a-z]*_gr[.]/blank./;
+ # make sure we're using the latest $IMAGE_TYPE
+ $icon =~ s/[.](gif|png)$/.$IMAGE_TYPE/;
+ $icons{$name} = $icon;
+ }
+ $icons{'blank'} = 'blank.' . $IMAGE_TYPE;
+
+ $CUSTOM_BUTTONS = '';
+ $BLANK_ICON = "\n<td>" . img_tag('blank.' . $IMAGE_TYPE) . "</td>";
+ $BLANK_ICON =~ s/alt="blank"/alt=""/;
+ $NAV_BGCOLOR = " bgcolor=\"#99CCFF\"";
}
-$icons{'blank'} = 'blank.' . $IMAGE_TYPE;
+adjust_icon_information();
-$CUSTOM_BUTTONS = '';
-$BLANK_ICON = "\n<td>" . img_tag('blank.' . $IMAGE_TYPE) . "</td>";
-$BLANK_ICON =~ s/alt="blank"/alt=""/;
-$NAV_BGCOLOR = " bgcolor=\"#99CCFF\"";
sub make_nav_sectref{
my($label,$title) = @_;
@@ -127,17 +155,23 @@ sub make_nav_panel{
. "\n<tr>"
. "\n<td>$NEXT</td>"
. "\n<td>$UP</td>"
- . "\n<td>$PREVIOUS</td>"
- . "\n<td align=center$NAV_BGCOLOR width=\"100%\">"
- . "\n <b class=title>$t_title</b></td>"
- . ($CONTENTS ? "\n<td>$CONTENTS</td>" : $BLANK_ICON)
- . "\n<td>$CUSTOM_BUTTONS</td>" # module index
- . ($INDEX ? "\n<td>$INDEX</td>" : $BLANK_ICON)
- . "\n</tr></table>"
- #. "<hr>"
- . make_nav_sectref("Next", $NEXT_TITLE)
- . make_nav_sectref("Up", $UP_TITLE)
- . make_nav_sectref("Previous", $PREVIOUS_TITLE);
+ . "\n<td>$PREVIOUS</td>";
+ if ($SUPPRESS_CONTENTS && $SUPPRESS_INDEXES) {
+ $s .= ("\n<td align=right$NAV_BGCOLOR width=\"100%\">"
+ . "\n <b class=title>$t_title\&nbsp;\&nbsp;\&nbsp;</b></td>");
+ }
+ else {
+ $s .= ("\n<td align=center$NAV_BGCOLOR width=\"100%\">"
+ . "\n <b class=title>$t_title</b></td>"
+ . ($CONTENTS ? "\n<td>$CONTENTS</td>" : $BLANK_ICON)
+ . "\n<td>$CUSTOM_BUTTONS</td>" # module index
+ . ($INDEX ? "\n<td>$INDEX</td>" : $BLANK_ICON));
+ }
+ $s .= ("\n</tr></table>"
+ . make_nav_sectref("Next", $NEXT_TITLE)
+ . make_nav_sectref("Up", $UP_TITLE)
+ . make_nav_sectref("Previous", $PREVIOUS_TITLE));
+ # remove these; they are unnecessary and cause error from validation
$s =~ s/ NAME="tex2html\d+"\n//g;
return $s;
}
@@ -320,9 +354,13 @@ sub add_idx_hook{
}
-# In addition to the standard stuff, add label to allow named node files.
+# In addition to the standard stuff, add label to allow named node files and
+# support suppression of the page complete (for HTML Help use).
sub do_cmd_tableofcontents {
local($_) = @_;
+# if ($SUPPRESS_CONTENTS) {
+# return $_;
+# }
$TITLE = $toc_title;
$tocfile = $CURRENT_FILE;
my($closures,$reopens) = preserve_open_tags();
@@ -416,29 +454,31 @@ sub add_bbl_and_idx_dummy_commands {
my $id = $global{'max_id'};
s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
- s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo
- #if ($bbl_cnt == 1)
- ;
- #}
+ s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
#----------------------------------------------------------------------
# (FLD) This was added
- my(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
- if (scalar(@parts) == 3) {
- # Be careful to re-write the string in place, since $_ is *not*
- # returned explicity; *** nasty side-effect dependency! ***
- print "\nadd_bbl_and_idx_dummy_commands ==> adding module index";
- my $rx = "([\\\\]begin\\s*$O\\d+$C\\s*theindex[\\s\\S]*)"
- . "([\\\\]begin\\s*$O\\d+$C\\s*theindex)";
- s/$rx/\\textohtmlmoduleindex \1 \\textohtmlindex \2/o;
- # Add a button to the navigation areas:
- $CUSTOM_BUTTONS .= ("<a\n href=\"modindex.html\">"
- . img_tag('modules.'.$IMAGE_TYPE) . "</a>");
+ if ($SUPPRESS_INDEXES) {
+ $CUSTOM_BUTTONS .= img_tag('blank.' . $IMAGE_TYPE);
}
else {
- $CUSTOM_BUTTONS .= img_tag('blank.' . $IMAGE_TYPE);
- $global{'max_id'} = $id; # not sure why....
- s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
- s/[\\]printindex/\\textohtmlindex /o;
+ my(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
+ if (scalar(@parts) == 3) {
+ # Be careful to re-write the string in place, since $_ is *not*
+ # returned explicity; *** nasty side-effect dependency! ***
+ print "\nadd_bbl_and_idx_dummy_commands ==> adding module index";
+ my $rx = "([\\\\]begin\\s*$O\\d+$C\\s*theindex[\\s\\S]*)"
+ . "([\\\\]begin\\s*$O\\d+$C\\s*theindex)";
+ s/$rx/\\textohtmlmoduleindex \1 \\textohtmlindex \2/o;
+ # Add a button to the navigation areas:
+ $CUSTOM_BUTTONS .= ("<a\n href=\"modindex.html\">"
+ . img_tag('modules.'.$IMAGE_TYPE) . "</a>");
+ }
+ else {
+ $CUSTOM_BUTTONS .= img_tag('blank.' . $IMAGE_TYPE);
+ $global{'max_id'} = $id; # not sure why....
+ s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
+ s/[\\]printindex/\\textohtmlindex /o;
+ }
}
#----------------------------------------------------------------------
lib_add_bbl_and_idx_dummy_commands()