diff options
author | James E Keenan <jkeenan@cpan.org> | 2021-03-16 22:00:45 +0000 |
---|---|---|
committer | James E Keenan <jkeenan@cpan.org> | 2021-07-06 01:08:03 +0000 |
commit | 072fb5ad1cd4a5c18cef31dfdfb6cc7c80bd2a5d (patch) | |
tree | ad22d0ab05cfd68f9bf566d997ecd15d2d933e93 /ext | |
parent | 8bb63676d3ee2ba429cc110c534beb95eca613bf (diff) | |
download | perl-072fb5ad1cd4a5c18cef31dfdfb6cc7c80bd2a5d.tar.gz |
Introduce internal sub set_Title();
Encapsulate more code within pod2html(). The return value is for
convenience. It's the setting inside $globals that counts.
Signed-off-by: James E Keenan <jkeenan@cpan.org>
Diffstat (limited to 'ext')
-rw-r--r-- | ext/Pod-Html/lib/Pod/Html.pm | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/ext/Pod-Html/lib/Pod/Html.pm b/ext/Pod-Html/lib/Pod/Html.pm index 69c416798c..defc2253b7 100644 --- a/ext/Pod-Html/lib/Pod/Html.pm +++ b/ext/Pod-Html/lib/Pod/Html.pm @@ -326,24 +326,7 @@ sub pod2html { } my $podtree = parse_input_for_podtree($globals, $input); - - unless(defined $globals->{Title}) { - if($podtree->[0] eq "Document" && ref($podtree->[2]) eq "ARRAY" && - $podtree->[2]->[0] eq "head1" && @{$podtree->[2]} == 3 && - ref($podtree->[2]->[2]) eq "" && $podtree->[2]->[2] eq "NAME" && - ref($podtree->[3]) eq "ARRAY" && $podtree->[3]->[0] eq "Para" && - @{$podtree->[3]} >= 3 && - !(grep { ref($_) ne "" } - @{$podtree->[3]}[2..$#{$podtree->[3]}]) && - (@$podtree == 4 || - (ref($podtree->[4]) eq "ARRAY" && - $podtree->[4]->[0] eq "head1"))) { - $globals->{Title} = join("", @{$podtree->[3]}[2..$#{$podtree->[3]}]); - } - } - - $globals->{Title} //= ""; - $globals->{Title} = html_escape($globals->{Title}); + $globals->{Title} = set_Title($globals, $podtree); # set options for the HTML generator my $parser = Pod::Simple::XHTML::LocalPodLinks->new(); @@ -452,6 +435,28 @@ sub parse_input_for_podtree { return $podtree; } +sub set_Title { + my ($globals, $podtree) = @_; + unless(defined $globals->{Title}) { + if($podtree->[0] eq "Document" && ref($podtree->[2]) eq "ARRAY" && + $podtree->[2]->[0] eq "head1" && @{$podtree->[2]} == 3 && + ref($podtree->[2]->[2]) eq "" && $podtree->[2]->[2] eq "NAME" && + ref($podtree->[3]) eq "ARRAY" && $podtree->[3]->[0] eq "Para" && + @{$podtree->[3]} >= 3 && + !(grep { ref($_) ne "" } + @{$podtree->[3]}[2..$#{$podtree->[3]}]) && + (@$podtree == 4 || + (ref($podtree->[4]) eq "ARRAY" && + $podtree->[4]->[0] eq "head1"))) { + $globals->{Title} = join("", @{$podtree->[3]}[2..$#{$podtree->[3]}]); + } + } + + $globals->{Title} //= ""; + #$globals->{Title} = html_escape($globals->{Title}); + return html_escape($globals->{Title}); +} + sub get_cache { my $globals = shift; |