close $fd;
}
+sub insert_html_file {
+ my $file_name = shift;
+ insert_file($file_name);
+}
+
+sub insert_text_file {
+ my $file_name = shift;
+
+ open my $fd, $file_name or die_error(500, "Couldn't open $file_name");
+
+ print "<pre>";
+ while (my $line = <$fd>) {
+ print to_utf8($line);
+ }
+ print "</pre>";
+}
+
+sub insert_markdown_file {
+ my $file_name = shift;
+
+ # TODO: Make this a config option?
+ my $markdown_cmd = "/usr/bin/markdown";
+
+ open my $fd, quote_command($markdown_cmd, $file_name)." |"
+ or die_error(500, "Couldn't open $file_name");
+
+ while (my $line = <$fd>) {
+ print to_utf8($line);
+ }
+}
+
## ......................................................................
## mimetype related functions
}
git_print_page_nav('tree','', $hash_base, undef, undef,
join(' | ', @views_nav));
- git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
+ #git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
} else {
undef $hash_base;
print "<div class=\"page_nav\">\n";
}
print "</table>\n" .
"</div>";
+
+ # If present, print one of the following, in order:
+ # README.md, README.txt, README, README.html.
+ my $cwd_path = "$projectroot/$project";
+ $cwd_path =~ s/\.git$//;
+ $cwd_path = $cwd_path . $basedir;
+ if (!$prevent_xss && -s $cwd_path . "README.md") {
+ print "<div class=\"readme\">\n";
+ insert_markdown_file($cwd_path . "README.md");
+ print "\n</div>\n"; # class="readme"
+ } elsif (!$prevent_xss && -s $cwd_path . "README.txt") {
+ print "<div class=\"readme\">\n";
+ insert_text_file($cwd_path . "README.txt");
+ print "\n</div>\n"; # class="readme"
+ } elsif (!$prevent_xss && -s $cwd_path . "README") {
+ print "<div class=\"readme\">\n";
+ insert_text_file($cwd_path . "README");
+ print "\n</div>\n"; # class="readme"
+ } elsif (!$prevent_xss && -s $cwd_path . "README.html") {
+ print "<div class=\"readme\">\n";
+ insert_html_file($cwd_path . "README.html");
+ print "\n</div>\n"; # class="readme"
+ }
+
git_footer_html();
}