X-Git-Url: https://gitweb.ps.run/flakes/blobdiff_plain/9a1d0c514456752694e317bfef7b500fa7caeee2..7091da1c89c559554b3896b7c87bf382c0087246:/patches/gitweb.patch?ds=inline diff --git a/patches/gitweb.patch b/patches/gitweb.patch deleted file mode 100644 index 8372f32..0000000 --- a/patches/gitweb.patch +++ /dev/null @@ -1,137 +0,0 @@ ---- gitweb.cgi.orig 2020-10-06 10:13:45.621810025 +0100 -+++ gitweb.cgi 2020-10-06 10:08:21.651823286 +0100 -@@ -18,9 +18,10 @@ - use Encode; - use Fcntl ':mode'; - use File::Find qw(); --use File::Basename qw(basename); -+use File::Basename qw(basename dirname); - use Time::HiRes qw(gettimeofday tv_interval); - use Digest::MD5 qw(md5_hex); -+use File::Spec; # hack - - binmode STDOUT, ':utf8'; - -@@ -6644,6 +6645,20 @@ - print "\n\n"; # class="readme" - } - -+ # hack -+ if (!$prevent_xss) { -+ $file_name = "README.md"; -+ my $proj_head_hash = git_get_head_hash($project); -+ my $readme_blob_hash = git_get_hash_by_path($proj_head_hash, "README.md", "blob"); -+ -+ if ($readme_blob_hash) { # if README.md exists -+ print "
$file_name
\n"; -+ print "
"; # TODO find/create a better CSS class than page_body -+ print get_markdown($file_name, $readme_blob_hash); -+ print "
"; -+ } -+ } -+ - # we need to request one more than 16 (0..15) to check if - # those 16 are all - my @commitlist = $head ? parse_commits($head, 17) : (); -@@ -7117,6 +7132,9 @@ - my $syntax = guess_file_syntax($highlight, $file_name); - $fd = run_highlighter($fd, $highlight, $syntax); - -+ # hack -+ my $ismarkdown = ($file_name =~ /md$/); -+ - git_header_html(undef, $expires); - my $formats_nav = ''; - if (defined $hash_base && (my %co = parse_commit($hash_base))) { -@@ -7160,6 +7178,10 @@ - esc_attr(href(action=>"blob_plain", hash=>$hash, - hash_base=>$hash_base, file_name=>$file_name)) . - qq!" />\n!; -+ } elsif ($ismarkdown) { -+ print qq!
\n!; -+ print get_markdown($file_name, $hash); -+ print qq!
\n!; # $cmd_markdownify - } else { - my $nr; - while (my $line = <$fd>) { -@@ -7177,6 +7199,79 @@ - git_footer_html(); - } - -+# hack -+sub get_norm_rel_path { # http://www.perlmonks.org/bare/?node_id=11907 -+ my $unnormpath = shift; -+ while ($unnormpath =~ m!/\.!) { -+ $unnormpath =~ s!/[^\/]+/\.\.!!; -+ # print "Path is now -+$unnormpath+-\n"; -+ } -+ return $unnormpath; -+} -+sub get_markdown { -+ my $tfilename = shift; -+ my $thash = shift; -+ my $rethtmlstr = ""; -+ use open ":encoding(utf8)"; # needed to have utf8 survive through the shell pipe -+ my $cmd_markdownify = $GIT . " " . git_cmd() . " cat-file blob " . $thash . " | perl -e 'my \$str = do { local \$/; }; \$str =~ s/