diff options
Diffstat (limited to 'Master/Tools/mkdocindex')
-rwxr-xr-x | Master/Tools/mkdocindex | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/Master/Tools/mkdocindex b/Master/Tools/mkdocindex deleted file mode 100755 index cc83a522810..00000000000 --- a/Master/Tools/mkdocindex +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/local/bin/perl -# $Id: //depot/Master/Tools/mkdocindex#2 $ -# Make index file of all HTML and PDF documentation. -# Originally written 2004, Karl Berry. Public domain. - -exit (&main ()); - -sub main -{ - (my $progname = $0) =~ s,^.*/,,; - umask (0); - - chomp (my $mydir = `dirname $0`); # Tools - chdir ("$mydir/..") || exit 1; # Master - - # shell fragment we use to find doc files in a directory. - $FIND_POST = " \\( -name \\*.html -o -name \\*.pdf \\) " - . " | sort -f -t/ +3 |"; - - print <<END_HEADER; -<html> -<body> -<h1>TeX Live documentation</h2> - -<a name="packagedoc"></a> -<h2>1. Package documentation</h2> - -<p>This section lists links to all HTML and PDF files for packages (in -the <a href="texmf/">texmf</a> and <a href="texmf-dist/">texmf-dist</a> -directories), sorted by package name. - -<p><a href="#guidedoc">Jump to guide documentation</a>. -END_HEADER - - &do_package_list (); - - print <<END_BETWEEN; -<a name="guidedoc"></a> -<h2>2. Guide documentation</h2> - -<p>This section lists links to all guides, that is, packages consisting -only of documentation (in the <a href="texmf-doc/">texmf-doc</a> -directory), sorted by language. - -<p><a href="#packagedoc">Jump to package documentation</a>. -END_BETWEEN - - &do_guide_list (); - - chomp (my $date = `date`); - print <<END_TRAILER; -<hr> -<small>Generated $date by $progname.</small> -</body></html> -END_TRAILER - - return 0; -} - - - -# Package doc (texmf and texmf-dist), by package. -# -sub do_package_list -{ - &do_filelist ("find texmf/doc texmf-dist/doc $FIND_POST"); -} - - - -# Guide doc (texmf-doc), by language. In order to generate a list of -# all the languages at the beginning, we generate everything before -# writing anything. -# -sub do_guide_list -{ - # each subdir in texmf-doc is a language, except general. - my @langs = map { s,.*/,,; $_ } glob ("texmf-doc/doc/*"); - my @langs = grep { $_ ne "general" } @langs; - - print "\n<p>Languages:\n<ul>\n"; - print map { qq!<li><a href="#$_">$_</a>\n! } @langs; - print "</ul>\n"; - - $count = 0; # for subsection numbers - for my $lang (@langs) { - $count++; - print qq!<a name="#$lang"></a>\n!; - print qq!<h3>2.$count <a href="texmf-doc/doc/$lang/">$lang</a></h3>\n!; - - &do_filelist ("find texmf-doc/doc/$lang $FIND_POST"); - } -} - - - -# Process all files resulting from OPENCMD. -# -sub do_filelist -{ - my ($opencmd) = @_; - - print "\n<ol>\n"; - my $prevdir = ""; - my @entries = (); - - $FILELIST = $opencmd; - open (FILELIST) || die "open($FILELIST) failed: $!"; - while (<FILELIST>) { - chomp; - # collect all files for a given directory - (my $thisdir = $_) =~ s,/[^/]*$,,; - - if ($thisdir eq $prevdir) { - push (@entries, $_); - } else { - &do_directory ($prevdir, @entries) if $prevdir; # avoid first empty - $prevdir = $thisdir; - @entries = ($_); - } - } - close (FILELIST) || warn "close($FILELIST) failed: $!"; - - &do_directory ($prevdir, @entries); # include last - - print "\n</ol>\n"; -} - - - -# Print doc ENTRIES in DIR. -# -sub do_directory -{ - my ($dir,@entries) = @_; - - # $dir includes the texmf tree, e.g., - # texmf-dist/doc/allrunes - # This is too ugly. We just want to show allrunes, especially since - # that's what we sorted by. - my (undef,undef,$nicename) = split (/\//, $dir, 3); - - print qq!<li><b><a href="$dir">$nicename</a>!; - - # if we have an index.html or a live.html, make things nicer. - if (grep { m,/(index|live)\.html$, } @entries) { - # first remove all .html's. - @entries = grep { $_ !~ /\.html$/ - || $_ =~ m,/(index|live)\.html, } @entries; - - # if only one entry left, remove it, the directory link suffices. - @entries = () if $entries[0] =~ m,/index\.html$, && @entries == 1; - } - - # if we're going to print anything, insert punctuation. - print ":" if @entries; - print "</b><small>\n"; - - for my $e (@entries) { - (my $basename = $e) =~ s,.*/,,; - print qq! <a href="$e">$basename</a>\n!; - } - - print " </small>\n\n"; -} |