X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=installhtml;h=cfbbe9f5c67ac046a1147d9d5fc3dca34e5555e7;hb=300aed98347df4b3587b6ffdf7817ba6640f2e5e;hp=ad7e66e70a6e89ebba919059557dc0a2dc350051;hpb=5a039dd3f529422cb070070772502cedaf09ae20;p=p5sagit%2Fp5-mst-13.2.git diff --git a/installhtml b/installhtml index ad7e66e..cfbbe9f 100755 --- a/installhtml +++ b/installhtml @@ -9,8 +9,6 @@ use Getopt::Long; # for command-line parsing use Cwd; use Pod::Html; -umask 022; - =head1 NAME installhtml - converts a collection of POD pages to HTML format. @@ -161,6 +159,10 @@ $pod2html = "pod/pod2html"; usage("") unless @ARGV; +# Overcome shell's p1,..,p8 limitation. +# See vms/descrip_mms.template -> descrip.mms for invokation. +if ( $^O eq 'VMS' ) { @ARGV = split(/\s+/,$ARGV[0]); } + # parse the command-line $result = GetOptions( qw( help @@ -236,7 +238,12 @@ foreach $dir (@splithead) { @data = (); while () { last if /NAME=/; - s,HREF="#(.*)">,HREF="$file/$1.html">,g; + $_ =~ s{HREF="#(.*)">}{ + my $url = "$file/$1.html" ; + $url = Pod::Html::relativize_url( $url, "$file.html" ) + if ( ! defined $opt_htmlroot || $opt_htmlroot eq '' ) ; + "HREF=\"$url\">" ; + }eg; push @data, $_; } close(H); @@ -320,9 +327,14 @@ sub create_index { if (defined $lcp1 and $lcp1 eq '

') { # Uninteresting. Try again. ($lcp1,$lcp2) = ($name =~ m,/H1>\s

\s(\S+)\s[\s-]*(.*?)\s*$,sm); } - print HTML qq(); + my $url= "$dir/$file" ; + if ( ! defined $opt_htmlroot || $opt_htmlroot eq '' ) { + $url = Pod::Html::relativize_url( "$dir/$file", $html ) ; + } + + print HTML qq(); print HTML "

$lcp1
$lcp2\n" if defined $lcp1; -# print HTML qq($lcp1
\n") if defined $lcp1; +# print HTML qq($lcp1
\n") if defined $lcp1; next; @@ -505,7 +517,7 @@ sub installdir { || die "$0: error opening directory $podroot/$dir: $!\n"; # find the directories to recurse on - @dirlist = map { "$dir/$_" } + @dirlist = map { if ($^O eq 'VMS') {/^(.*)\.dir$/i; "$dir/$1";} else {"$dir/$_";}} grep(-d "$podroot/$dir/$_" && !/^\.{1,2}/, readdir(DIR)) if $recurse; rewinddir(DIR);