Return-Path: Delivered-To: apmail-perl-docs-cvs-archive@perl.apache.org Received: (qmail 59441 invoked by uid 500); 10 Jun 2002 17:57:58 -0000 Mailing-List: contact docs-cvs-help@perl.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list docs-cvs@perl.apache.org Received: (qmail 59423 invoked by uid 500); 10 Jun 2002 17:57:58 -0000 Delivered-To: apmail-modperl-docs-cvs@apache.org Date: 10 Jun 2002 17:57:57 -0000 Message-ID: <20020610175757.4107.qmail@icarus.apache.org> From: stas@apache.org To: modperl-docs-cvs@apache.org Subject: cvs commit: modperl-docs/lib/DocSet/Source POD.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2002/06/10 10:57:57 Modified: lib/DocSet RunTime.pm lib/DocSet/Source POD.pm Log: DocSet sync - fix a bug with resolving L<> when not the minimal lenght link is used, also solved a parallel bug with resolving links to ::index - skip empty lines in preamble, when extracting pod Revision Changes Path 1.6 +29 -13 modperl-docs/lib/DocSet/RunTime.pm Index: RunTime.pm =================================================================== RCS file: /home/cvs/modperl-docs/lib/DocSet/RunTime.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- RunTime.pm 21 Apr 2002 07:25:18 -0000 1.5 +++ RunTime.pm 10 Jun 2002 17:57:57 -0000 1.6 @@ -106,6 +106,7 @@ my $full_path_regex = quotemeta $full_path; $src_docs{$rel_path} = { + "index.html" => 1, # base index.html map { m{(.*?/?)[^/]+$} # add autogenerated index.html ? ("$1index.html" => 1, $_ => 1) : ($_ => 1); # shouldn't happen, but just in case @@ -121,7 +122,7 @@ $seen{$full_path}++; } -# dumper \%src_docs; +# dumper \%src_docs; } # this function returns a URI, so its separators are always / @@ -133,27 +134,42 @@ $exts{html} = 1 unless exists $exts{html}; for my $path (keys %src_docs) { - for my $ext (keys %exts) { -#print qq{Try: $path :: $resource_rel_path.$ext\n}; - if (exists $src_docs{$path}{"$resource_rel_path.$ext"}) { -#print qq{Found $path/$resource_rel_path.$ext\n}; - return join '/', $path, "$resource_rel_path.$ext"; - } - + if (my $found_path = match_in_doc_src_subset($path, + $resource_rel_path)) { + return $found_path; } } # if we didn't find anything so far, it's possible that the path was # specified with a longer prefix, that was needed (the above - # searches only the end leaves), so we cut pathes here in the - # search order - for my $rel_path (@search_paths) { - if ($resource_rel_path =~ s|$rel_path/||) { - return find_src_doc($resource_rel_path); + # searches only the end leaves), so try locate the segments of the + # search path and search within maching sub-sets + for my $path (@search_paths) { + if ($resource_rel_path =~ m|^$path/(.*)|) { + if (my $found_path = match_in_doc_src_subset($path, $1)) { + return $found_path; + } } } #dumper $src_docs{"docs/1.0"}; + return; +} + +# accepts the base_path (from the @search_paths) and the rel_path as +# args, then it tries to find the match by applying known extensions. +# +# if matched, returns the whole path relative to the root, otherwise +# returns undef +sub match_in_doc_src_subset { + my ($base_path, $rel_path) = @_; + for my $ext (keys %exts) { +#print qq{Try: $base_path :: $rel_path.$ext\n}; + if (exists $src_docs{$base_path}{"$rel_path.$ext"}) { +#print qq{Found $base_path/$rel_path.$ext\n}; + return join '/', $base_path, "$rel_path.$ext"; + } + } return; } 1.6 +5 -2 modperl-docs/lib/DocSet/Source/POD.pm Index: POD.pm =================================================================== RCS file: /home/cvs/modperl-docs/lib/DocSet/Source/POD.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- POD.pm 13 Apr 2002 15:44:20 -0000 1.5 +++ POD.pm 10 Jun 2002 17:57:57 -0000 1.6 @@ -161,8 +161,11 @@ my @pod = (); my $in_pod = 0; - for (split /\n\n/, ${ $self->{content} }) { - $in_pod ||= /^=/s; + for (split /\n{2,}/, ${ $self->{content} }) { + unless ($in_pod) { + s/^[\s\n]*//ms; # skip empty lines in preamble + $in_pod = /^=/s; + } next unless $in_pod; $in_pod = 0 if /^=cut/; push @pod, $_; --------------------------------------------------------------------- To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org For additional commands, e-mail: docs-cvs-help@perl.apache.org