From 64bdc2430140e50b0da378accf6e958a8774c163 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 17 Apr 1998 02:14:12 +0000 Subject: Code cleanup, some syntax modernization. --- Doc/perl/l2hinit.perl | 161 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 115 insertions(+), 46 deletions(-) diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl index 2fa29af..4862fbd 100644 --- a/Doc/perl/l2hinit.perl +++ b/Doc/perl/l2hinit.perl @@ -55,34 +55,104 @@ chop $myrootdir; sub make_nav_panel{ - ($NEXT_TITLE ? "$NEXT\n" : '') - . ($UP_TITLE ? "$UP\n" : '') - . ($PREVIOUS_TITLE ? "$PREVIOUS\n" : '') - . "$CONTENTS\n$INDEX" + ($NEXT_TITLE ? $NEXT : '') + . ($UP_TITLE ? $UP : '') + . ($PREVIOUS_TITLE ? $PREVIOUS : '') + . $CONTENTS + . $INDEX # . " $CUSTOM_BUTTONS" - . "
\n" - . ($NEXT_TITLE ? " Next: $NEXT_TITLE\n" : '') + . "\n
\n" + . ($NEXT_TITLE ? "Next: $NEXT_TITLE\n" : '') . ($UP_TITLE ? "Up: $UP_TITLE\n" : '') . ($PREVIOUS_TITLE ? "Previous: $PREVIOUS_TITLE\n" : ''); } sub top_navigation_panel { "" + . make_nav_panel() + . '

'; } sub bot_navigation_panel { "

\n

" + . make_nav_panel() + . ''; +} + +sub add_link { + # Returns a pair (iconic link, textual link) + my($icon, $current_file, @link) = @_; + my($dummy, $file, $title) = split($delim, + $toc_section_info{join(' ',@link)}); + if ($title && ($file ne $current_file)) { + $title = purify($title); + $title = get_first_words($title, $WORDS_IN_NAVIGATION_PANEL_TITLES); + return (make_href($file, $icon), make_href($file, "$title")) + } + elsif ($icon eq $up_visible_mark && $EXTERNAL_UP_LINK) { + return (make_href($EXTERNAL_UP_LINK, $icon), + make_href($EXTERNAL_UP_LINK, "$EXTERNAL_UP_TITLE")) + } + elsif (($icon eq $previous_visible_mark + || $icon eq $previous_page_visible_mark) + && $EXTERNAL_PREV_LINK && $EXTERNAL_PREV_TITLE) { + return (make_href($EXTERNAL_PREV_LINK, $icon), + make_href($EXTERNAL_PREV_LINK, "$EXTERNAL_PREV_TITLE")) + } + elsif (($icon eq $next_visible_mark + || $icon eq $next_page_visible_mark) + && $EXTERNAL_DOWN_LINK && $EXTERNAL_DOWN_TITLE) { + return (make_href($EXTERNAL_DOWN_LINK, $icon), + make_href($EXTERNAL_DOWN_LINK, "$EXTERNAL_DOWN_TITLE")) + } + (&inactive_img($icon), ""); +} + +sub add_special_link { + my($icon, $file, $current_file) = @_; + (($file && ($file ne $current_file)) ? make_href($file, $icon) : undef) +} + +sub img_tag { + local($icon) = @_; + my $alt; + my $align = " align=bottom "; + + $alt = join('|', 'up', 'next_group', 'previous_group' + , 'next', 'previous', 'change_begin_right', 'change_begin' + , 'change_end_right', 'change_end', 'change_delete_right' + , 'change_delete', 'contents', 'index'); + + if ($icon =~ /(gif|png)$/) { + $used_icons{$icon} = 1; + if ($icon =~ /change_(begin|end|delete)_right/) { $align = ' ' }; + my $nav_border = "$NAV_BORDER"; + if ($icon =~ /($alt)/) { + $alt = $1; + } + else { + $nav_border = '1'; + $alt = '[*]'; + }; + if ($LOCAL_ICONS) { + return join('', '', $alt
+			,'' ); + } + return join('', '', $alt, '' ); + } + else { + return $icon; + } } sub gen_index_id { # this is used to ensure common index key generation and a stable sort my($str,$extra) = @_; - sprintf("%s###%s%010d", $str, $extra, ++$global{'max_id'}); + sprintf('%s###%s%010d', $str, $extra, ++$global{'max_id'}); } sub make_index_entry { @@ -92,16 +162,21 @@ sub make_index_entry { $TITLE = $ref_before unless $TITLE; # Save the reference $str = gen_index_id($str, ''); - $index{$str} .= &make_half_href("$CURRENT_FILE#$br_id"); + $index{$str} .= make_half_href("$CURRENT_FILE#$br_id"); "$anchor_invisible_mark<\/a>"; } -# use this instead with the buildindex.py tool + +sub insert_index{ + my($mark,$datafile) = @_; + my $index = `$myrootdir/tools/buildindex.py $datafile`; + s/$mark/$index/; +} + sub add_idx{ print "\nDoing the index ..."; close(IDXFILE); - my $index = `$myrootdir/tools/buildindex.py index.dat`; - s/$idx_mark/$index/; + insert_index($idx_mark, 'index.dat'); } @@ -111,15 +186,13 @@ $idx_module_title = 'Module Index'; sub add_module_idx{ print "\nDoing the module index ..."; my $key; - my $index = "

"; - open(MODIDXFILE, ">modindex.dat") || die "\n$!\n"; + open(MODIDXFILE, '>modindex.dat') || die "\n$!\n"; foreach $key (keys %Modules) { # dump the line in the data file; just use a dummy seqno field print MODIDXFILE "$Modules{$key}" . $IDXFILE_FIELD_SEP . "$key###\n"; } close(MODIDXFILE); - $index = `$myrootdir/tools/buildindex.py modindex.dat`; - s/$idx_module_mark/$index

/; + insert_index($idx_module_mark, 'modindex.dat'); } # replace both indexes as needed: @@ -134,10 +207,10 @@ sub do_cmd_tableofcontents { local($_) = @_; $TITLE = $toc_title; $tocfile = $CURRENT_FILE; - my($closures,$reopens) = &preserve_open_tags(); - &anchor_label("contents",$CURRENT_FILE,$_); # this is added + my($closures,$reopens) = preserve_open_tags(); + anchor_label('contents', $CURRENT_FILE, $_); # this is added join('', "
\n", $closures - , &make_section_heading($toc_title, "H2"), $toc_mark + , make_section_heading($toc_title, 'H2'), $toc_mark , $reopens, $_); } # In addition to the standard stuff, add label to allow named node files. @@ -145,10 +218,10 @@ sub do_cmd_listoffigures { local($_) = @_; $TITLE = $lof_title; $loffile = $CURRENT_FILE; - my($closures,$reopens) = &preserve_open_tags(); - &anchor_label("lof",$CURRENT_FILE,$_); # this is added + my($closures,$reopens) = preserve_open_tags(); + anchor_label('lof', $CURRENT_FILE, $_); # this is added join('', "
\n", $closures - , &make_section_heading($lof_title, "H2"), $lof_mark + , make_section_heading($lof_title, 'H2'), $lof_mark , $reopens, $_); } # In addition to the standard stuff, add label to allow named node files. @@ -156,17 +229,17 @@ sub do_cmd_listoftables { local($_) = @_; $TITLE = $lot_title; $lotfile = $CURRENT_FILE; - my($closures,$reopens) = &preserve_open_tags(); - &anchor_label("lot",$CURRENT_FILE,$_); # this is added + my($closures,$reopens) = preserve_open_tags(); + anchor_label('lot', $CURRENT_FILE, $_); # this is added join('', "
\n", $closures - , &make_section_heading($lot_title, "H2"), $lot_mark + , make_section_heading($lot_title, 'H2'), $lot_mark , $reopens, $_); } # In addition to the standard stuff, add label to allow named node files. sub do_cmd_textohtmlinfopage { local($_) = @_; if ($INFO) { # - &anchor_label("about",$CURRENT_FILE,$_); # this is added + anchor_label("about",$CURRENT_FILE,$_); # this is added } # ( ($INFO == 1) ? join('', $close_all @@ -201,7 +274,7 @@ sub do_cmd_textohtmlindex { sub do_cmd_textohtmlmoduleindex { local($_) = @_; $TITLE = $idx_module_title; - &anchor_label("modindex",$CURRENT_FILE,$_); + anchor_label("modindex",$CURRENT_FILE,$_); '

' . make_section_heading($idx_module_title, "h2") . $idx_module_mark . $_; } @@ -245,7 +318,7 @@ sub add_bbl_and_idx_dummy_commands { s/[\\]printindex/\\textohtmlindex /o; } #---------------------------------------------------------------------- - &lib_add_bbl_and_idx_dummy_commands() + lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands); } @@ -270,20 +343,16 @@ sub set_depth_levels { $MAX_SPLIT_DEPTH = $level + $MAX_SPLIT_DEPTH; } elsif (!($MAX_SPLIT_DEPTH)) { $MAX_SPLIT_DEPTH = 1 }; - %unnumbered_section_commands = ( - 'tableofcontents', $level - , 'listoffigures', $level - , 'listoftables', $level - , 'bibliography', $level - , 'textohtmlindex', $level - , 'textohtmlmoduleindex', $level - ); - $section_headings{'textohtmlmoduleindex'} = "h1"; - - %section_commands = ( - %unnumbered_section_commands - , %section_commands - ); + %unnumbered_section_commands = ('tableofcontents' => $level, + 'listoffigures' => $level, + 'listoftables' => $level, + 'bibliography' => $level, + 'textohtmlindex' => $level, + 'textohtmlmoduleindex' => $level); + $section_headings{'textohtmlmoduleindex'} = 'h1'; + + %section_commands = (%unnumbered_section_commands, + %section_commands); make_sections_rx(); } @@ -315,7 +384,7 @@ sub protect_useritems { # style support file. The %declarations must be set before initialize() # is called in the main script. # -%declarations = ('preform', '

', +%declarations = ('preform' => '
', %declarations); 1; # This must be the last line -- cgit v0.12