summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJames E Keenan <jkeenan@cpan.org>2021-03-16 22:00:45 +0000
committerJames E Keenan <jkeenan@cpan.org>2021-07-06 01:08:03 +0000
commit072fb5ad1cd4a5c18cef31dfdfb6cc7c80bd2a5d (patch)
treead22d0ab05cfd68f9bf566d997ecd15d2d933e93 /ext
parent8bb63676d3ee2ba429cc110c534beb95eca613bf (diff)
downloadperl-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.pm41
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;