+ my $fh = IO::File->new("/usr/share/pve-docs/$filename", "r") or
+ die "unable to open file '$filename' - $!\n";
+ while (defined(my $line = <$fh>)) {
+ $parser->parse($line);
+ }
+ $pve_content .= "</pvehide>\n";
+
+ $pve_content =~ s/\s+$//gm;
+
+ chomp $pve_content;
+
+ if ($page =~ m/^(.*)$starttag\n.*\n$endtag\n?(.*)$/s) {
+ my ($top_content, $bottom_content) = ($1, $2);
+ $page = $top_content;
+ $page .= "$starttag\n";
+ $page .= $pve_content;
+ $page .= "\n$endtag\n";
+ $page .= $bottom_content;
+ } elsif ($page =~ m/(.*)\{\{#pvedocs:.*?\}\}(.*)$/) {
+ # old style
+ my ($top_content, $bottom_content) = ($1, $2);
+ chomp $top_content;
+ chomp $bottom_content;
+ $page = $top_content;
+ $page .= "$starttag\n";
+ $page .= $pve_content;
+ $page .= "\n$endtag\n";
+ $page .= $bottom_content;
+ } else {
+ $page = "$starttag\n$pve_content\n$endtag\n$page";