X-Git-Url: https://git.chrismorgan.info/gitweb/blobdiff_plain/fa7af1387e339bf3628abafca83a76b271de53e6..275dee3e37fdf9589a23b0825772bcdfc1b183ce:/gitweb.cgi diff --git a/gitweb.cgi b/gitweb.cgi index 099d2b3..d78c4f5 100755 --- a/gitweb.cgi +++ b/gitweb.cgi @@ -519,18 +519,6 @@ our %feature = ( 'override' => 0, 'default' => [0]}, - # Enable and configure ability to change common timezone for dates - # in gitweb output via JavaScript. Enabled by default. - # Project specific override is not supported. - 'javascript-timezone' => { - 'override' => 0, - 'default' => [ - 'local', # default timezone: 'utc', 'local', or '(-|+)HHMM' format, - # or undef to turn off this feature - 'gitweb_tz', # name of cookie where to store selected timezone - 'datetime', # CSS class used to mark up dates for manipulation - ]}, - # Syntax highlighting support. This is based on Daniel Svensson's # and Sham Chukoury's work in gitweb-xmms2.git. # It requires the 'highlight' program present in $PATH, @@ -1874,7 +1862,7 @@ sub esc_html_hl_regions { $out .= esc_html(substr($str, $pos, $begin - $pos), %opts) if ($begin - $pos > 0); - $out .= $cgi->span({-class => $css_class}, $escaped); + $out .= "$escaped"; $pos = $end; } @@ -1904,7 +1892,7 @@ sub esc_html_match_hl { my @matches = matchpos_list($str, $regexp); return esc_html($str) unless @matches; - return esc_html_hl_regions($str, 'match', @matches); + return esc_html_hl_regions($str, undef, @matches); } @@ -1936,7 +1924,7 @@ sub esc_html_match_hl_chopped { push @filtered, $m; } - return esc_html_hl_regions($chopped . $tail, 'match', @filtered); + return esc_html_hl_regions($chopped . $tail, undef, @filtered); } ## ---------------------------------------------------------------------- @@ -3044,7 +3032,7 @@ sub git_populate_project_tagcloud { $title =~ s/^/ /g; $title =~ s/$/ /g; if (defined $matched && $matched eq $ctag) { - $title = qq($title); + $title = qq($title); } $cloud->add($title, href(project=>undef, ctag=>$ctag), $ctags_lc{$ctag}->{count}); @@ -3054,7 +3042,7 @@ sub git_populate_project_tagcloud { foreach my $ctag (keys %ctags_lc) { my $title = esc_html($ctags_lc{$ctag}->{topname}, -nbsp=>1); if (defined $matched && $matched eq $ctag) { - $title = qq($title); + $title = qq($title); } $cloud->{$ctag}{count} = $ctags_lc{$ctag}->{count}; $cloud->{$ctag}{ctag} = @@ -3594,12 +3582,13 @@ sub parse_commit_text { $co{'age'} = $age; $co{'age_string'} = age_string($age); my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) = gmtime($co{'committer_epoch'}); + $co{'age_string_iso8601'} = sprintf "%4i-%02u-%02i %02u:%02u:%02uZ", 1900 + $year, $mon+1, $mday, $hour, $min, $sec; if ($age > 60*60*24*7*2) { $co{'age_string_date'} = sprintf "%4i-%02u-%02i", 1900 + $year, $mon+1, $mday; - $co{'age_string_age'} = $co{'age_string'}; + $co{'age_string_age'} = "$co{'age_string_iso8601'} ($co{'age_string'})"; } else { $co{'age_string_date'} = $co{'age_string'}; - $co{'age_string_age'} = sprintf "%4i-%02u-%02i", 1900 + $year, $mon+1, $mday; + $co{'age_string_age'} = $co{'age_string_iso8601'}; } return %co; } @@ -4097,11 +4086,11 @@ sub print_feed_meta { } else { printf(''."\n", - esc_attr($site_name), + esc_attr(to_utf8($site_name)), esc_attr(href(project=>undef, action=>"project_index"))); printf(''."\n", - esc_attr($site_name), + esc_attr(to_utf8($site_name)), esc_attr(href(project=>undef, action=>"opml"))); } } @@ -4134,19 +4123,24 @@ sub print_nav_breadcrumbs_path { print $cgi->a({-href => href(project => undef, project_filter => $dirprefix, action => "project_list")}, - esc_html($part)) . " / "; + esc_html($part)) . "/"; } } sub print_nav_breadcrumbs { my %opts = @_; + my $sep = to_utf8("  ›  "); + my $first = 1; for my $crumb (@extra_breadcrumbs, [ $home_link_str => $home_link ]) { - print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]) . " / "; + print $sep unless $first; + $first = 0; + print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]); } if (defined $project) { my @dirname = split '/', $project; my $projectbasename = pop @dirname; + print $sep; print_nav_breadcrumbs_path(@dirname); print $cgi->a({-href => href(action=>"summary")}, esc_html($projectbasename)); if (defined $action) { @@ -4155,13 +4149,14 @@ sub print_nav_breadcrumbs { $action_print = $cgi->a({-href => href(action=>$action)}, $action); } - print " / $action_print"; + print "$sep$action_print"; } if (defined $opts{-action_extra}) { - print " / $opts{-action_extra}"; + print "$sep$opts{-action_extra}"; } print "\n"; } elsif (defined $project_filter) { + print $sep; print_nav_breadcrumbs_path(split '/', $project_filter); } } @@ -4260,7 +4255,7 @@ sub git_end_subhead_html { } sub git_footer_html { - my $feed_class = 'rss_logo'; + my $feed_class = 'feed_logo'; print "