X-Git-Url: http://git.subgeniuskitty.com/gitweb-sgk/.git/blobdiff_plain/1bda5b3ed48490ad6d8068cddf846ffd52263d22..39ef91a31081cdafceea3da6bedcc76db52599fb:/gitweb.cgi diff --git a/gitweb.cgi b/gitweb.cgi index 6b5b731..a3b31ce 100755 --- a/gitweb.cgi +++ b/gitweb.cgi @@ -3846,6 +3846,37 @@ sub insert_file { 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 "
";
+	while (my $line = <$fd>) {
+		print to_utf8($line);
+	}
+	print "
"; +} + +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 @@ -4549,8 +4580,10 @@ sub git_print_page_path { print "
"; + my $pretty_project = $project; + $pretty_project =~ s/\/\.git$//; print $cgi->a({-href => href(action=>"tree", hash_base=>$hb), - -title => 'tree root'}, to_utf8("[$project]")); + -title => 'tree root'}, to_utf8("[$pretty_project]")); print " / "; if (defined $name) { my @dirname = split '/', $name; @@ -7194,7 +7227,7 @@ sub git_tree { } 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 "
\n"; @@ -7253,6 +7286,30 @@ sub git_tree { } print "\n" . "
"; + + # 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 "
\n"; + insert_markdown_file($cwd_path . "README.md"); + print "\n
\n"; # class="readme" + } elsif (!$prevent_xss && -s $cwd_path . "README.txt") { + print "
\n"; + insert_text_file($cwd_path . "README.txt"); + print "\n
\n"; # class="readme" + } elsif (!$prevent_xss && -s $cwd_path . "README") { + print "
\n"; + insert_text_file($cwd_path . "README"); + print "\n
\n"; # class="readme" + } elsif (!$prevent_xss && -s $cwd_path . "README.html") { + print "
\n"; + insert_html_file($cwd_path . "README.html"); + print "\n
\n"; # class="readme" + } + git_footer_html(); }