X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/cac3fadd5244efab88a7d39b605730c92b4ac22c..a03926b2cd3c47c0a9631ed10568cfe6401527f1:/installhtml diff --git a/installhtml b/installhtml index 5a76ba0..b243df7 100755 --- a/installhtml +++ b/installhtml @@ -18,7 +18,8 @@ installhtml - converts a collection of POD pages to HTML format. installhtml [--help] [--podpath=:...:] [--podroot=] [--htmldir=] [--htmlroot=] [--norecurse] [--recurse] [--splithead=,...,] [--splititem=,...,] - [--libpods=,...,] [--verbose] + [--libpods=,...,] [--ignore=,...,] + [--verbose] =head1 DESCRIPTION @@ -42,7 +43,7 @@ Default is current directory. =item B<--podpath> POD search path The list of directories to search for .pod and .pm files to be converted. -Default is `podroot/.'. +Default is 'podroot/.'. =item B<--recurse> recurse on subdirectories @@ -57,7 +58,7 @@ be a path relative to the filesystem, not the resulting URL. =item B<--htmlroot> URL base directory The base directory which all resulting HTML files will be visible at in -a URL. The default is `/'. +a URL. The default is '/'. =item B<--splithead> POD files to split on =head directive @@ -74,13 +75,18 @@ split, rather it invokes I to do the dirty work. As with =item B<--splitpod> Directory containing the splitpod program -The directory containing the splitpod program. The default is `podroot/pod'. +The directory containing the splitpod program. The default is 'podroot/pod'. =item B<--libpods> library PODs for LEE links Comma-separated list of "library" pod files. This is the same list that will be passed to pod2html when any pod is converted. +=item B<--ignore> files to be ignored + +Comma-separated of files that shouldn't be installed, given relative +to podroot. + =item B<--verbose> verbose output Self-explanatory. @@ -106,8 +112,6 @@ perl documentation: Chris Hall Ehallc@cs.colorado.eduE -=head1 TODO - =cut my $usage; @@ -116,7 +120,7 @@ $usage =<:...: --podroot= --htmldir= --htmlroot= --norecurse --recurse --splithead=,..., --splititem=,..., - --libpods=,..., --verbose + --libpods=,..., --ignore=,..., --verbose --help - this message --podpath - colon-separated list of directories containing .pod and @@ -124,7 +128,7 @@ Usage: $0 --help --podpath=:...: --podroot= --podroot - filesystem base directory from which all relative paths in podpath stem (default is .). --htmldir - directory to store resulting html files in relative - to the filesystem (\$podroot/html by default). + to the filesystem (\$podroot/html by default). --htmlroot - http-server base directory from which all relative paths in podpath stem (default is /). --libpods - comma-separated list of files to search for =item pod @@ -140,12 +144,13 @@ Usage: $0 --help --podpath=:...: --podroot= splitpod. --splitpod - directory where the program splitpod can be found (\$podroot/pod by default). + --ignore - comma-separated list of files that shouldn't be installed. --verbose - self-explanatory. END_OF_USAGE my (@libpods, @podpath, $podroot, $htmldir, $htmlroot, $recurse, @splithead, - @splititem, $splitpod, $verbose, $pod2html); + @splititem, $splitpod, $verbose, $pod2html, @ignore); @libpods = (); @podpath = ( "." ); # colon-separated list of directories containing .pod @@ -158,7 +163,7 @@ $recurse = 0; # default behavior @splititem = (); # don't split any files by default $splitpod = ""; # nothing for now. -$verbose = 0; # whether or not to print debugging info +$verbose = 0; # whether or not to print debugging info $pod2html = "pod/pod2html"; @@ -178,6 +183,7 @@ my $result = GetOptions( \%Options, qw( htmldir=s htmlroot=s libpods=s + ignore=s recurse! splithead=s splititem=s @@ -203,11 +209,10 @@ $splitpod = "$podroot/pod" unless $splitpod; # ignored in the conversion process. these are files that have been # process by splititem or splithead and should not be converted as a # result. -my @ignore = (); my @splitdirs; -# split pods. its important to do this before convert ANY pods because -# it may effect some of the links +# split pods. It's important to do this before convert ANY pods because +# it may affect some of the links @splitdirs = (); # files in these directories won't get an index split_on_head($podroot, $htmldir, \@splitdirs, \@ignore, @splithead); split_on_item($podroot, \@splitdirs, \@ignore, @splititem); @@ -256,7 +261,7 @@ foreach my $dir (@splithead) { } close(H); - # now rewrite the file + # now rewrite the file open(H, ">$file.html") || die "$0: error opening $file.html for output: $!\n"; print H "@data", "\n"; @@ -291,6 +296,8 @@ sub parse_command_line { $recurse = $Options{recurse} if defined $Options{recurse}; $verbose = $Options{verbose} if defined $Options{verbose}; + + @ignore = map "$podroot/$_", split(",", $Options{ignore}) if defined $Options{ignore}; } @@ -542,12 +549,13 @@ sub installdir { # install all the pods we found foreach my $pod (@podlist) { # check if we should ignore it. - next if grep($_ eq "$podroot/$pod.pod", @$ignore); + next if $pod =~ m(/t/); # comes from a test file + next if grep($_ eq "$pod.pod", @$ignore); # check if a .pm files exists too if (grep($_ eq $pod, @pmlist)) { - print "$0: Warning both `$podroot/$pod.pod' and " - . "`$podroot/$pod.pm' exist, using pod\n"; + print "$0: Warning both '$podroot/$pod.pod' and " + . "'$podroot/$pod.pm' exist, using pod\n"; push(@ignore, "$pod.pm"); } runpod2html("$pod.pod", $doindex); @@ -556,6 +564,7 @@ sub installdir { # install all the .pm files we found foreach my $pm (@pmlist) { # check if we should ignore it. + next if $pm =~ m(/t/); # comes from a test file next if grep($_ eq "$pm.pm", @ignore); runpod2html("$pm.pm", $doindex);