\n" . "
\n\n"; + print "\n"; print "
X-Git-Url: https://git.chrismorgan.info/gitweb/blobdiff_plain/071afd4cc5b307c3e00bca83fb40215a4a5560b6..997771613b0b40fa6b973e741773e564fd241534:/gitweb.cgi diff --git a/gitweb.cgi b/gitweb.cgi index b74ebd5..28a64ea 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; } @@ -4026,40 +4015,36 @@ sub run_highlighter { ## functions printing HTML: header, footer, error page sub get_page_title { - my $title = to_utf8($site_name); - + # Formats: + # SITE_NAME + # SITE_NAME - projects in FILTER + # PROJECT - SITE_NAME + # PROJECT ACTION - SITE_NAME + # FILENAME - PROJECT ACTION - SITE_NAME + my $title; unless (defined $project) { + $title = to_utf8($site_name); if (defined $project_filter) { $title .= " - projects in '" . esc_path($project_filter) . "'"; } return $title; } - $title .= " - " . to_utf8($project); - - return $title unless (defined $action); - $title .= "/$action"; # $action is US-ASCII (7bit ASCII) + $title = to_utf8($project); - return $title unless (defined $file_name); - $title .= " - " . esc_path($file_name); - if ($action eq "tree" && $file_name !~ m|/$|) { - $title .= "/"; + if (defined $action) { + $title .= " $action"; # $action is US-ASCII (7bit ASCII) + if (defined $file_name) { + $title = " - " . $title; + if ($action eq "tree" && $file_name !~ m|/$|) { + $title = "/" . $title; + } + $title = esc_path($file_name) . $title; + } } - return $title; -} + $title .= " - " . to_utf8($site_name); -sub get_content_type_html { - # require explicit support from the UA if we are to send the page as - # 'application/xhtml+xml', otherwise send it as plain old 'text/html'. - # we have to do this because MSIE sometimes globs '*/*', pretending to - # support xhtml+xml but choking when it gets what it asked for. - if (defined $cgi->http('HTTP_ACCEPT') && - $cgi->http('HTTP_ACCEPT') =~ m/(,|;|\s|^)application\/xhtml\+xml(,|;|\s|$)/ && - $cgi->Accept('application/xhtml+xml') != 0) { - return 'application/xhtml+xml'; - } else { - return 'text/html'; - } + return $title; } sub print_feed_meta { @@ -4101,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"))); } } @@ -4116,17 +4101,17 @@ sub print_header_links { # print out each stylesheet that exist, providing backwards capability # for those people who defined $stylesheet in a config file if (defined $stylesheet) { - print ''."\n"; + print ''."\n"; } else { foreach my $stylesheet (@stylesheets) { next unless $stylesheet; - print ''."\n"; + print ''."\n"; } } print_feed_meta() if ($status eq '200 OK'); if (defined $favicon) { - print qq(\n); + print qq(\n); } } @@ -4187,8 +4172,7 @@ sub print_search_form { if ($use_pathinfo) { $action .= "/".esc_url($project); } - print $cgi->start_form(-method => "get", -action => $action) . - "
$co{'age_string'} | \n" . - print "$co{'age_string_date'} | \n" . + print "\n" . format_author_html('td', \%co, 10) . " | "; print format_subject_html($co{'title'}, $co{'title_short'}, href(action=>"commit", hash=>$commit), $ref); @@ -6018,7 +5981,7 @@ sub git_history_body { print " | |||||||||||||||||||||||||||
$co{'age_string_date'} | \n" . + print "\n" . # shortlog: format_author_html('td', \%co, 10) format_author_html('td', \%co, 15, 3) . " | "; # originally git_history used chop_str($co{'title'}, 50) @@ -6348,7 +6311,7 @@ sub git_search_changes { $alternate ^= 1; %co = parse_commit($set{'commit'}); my $author = chop_and_escape_str($co{'author_name'}, 15, 5); - print " | $co{'age_string_date'} | \n" . + print "\n" . " | $author | \n" . "" .
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'}),
@@ -6360,7 +6323,7 @@ sub git_search_changes {
print $cgi->a({-href => href(action=>"blob", hash_base=>$co{'id'},
hash=>$set{'to_id'}, file_name=>$set{'to_file'}),
-class => "list"},
- "" . esc_path($set{'file'}) . "") .
+ "" . esc_path($set{'file'}) . "") .
" \n"; } } @@ -6435,9 +6398,9 @@ sub git_search_files { $ltext = untabify($ltext); if ($ltext =~ m/^(.*)($search_regexp)(.*)$/i) { $ltext = esc_html($1, -nbsp=>1); - $ltext .= ''; + $ltext .= ''; $ltext .= esc_html($2, -nbsp=>1); - $ltext .= ''; + $ltext .= ''; $ltext .= esc_html($3, -nbsp=>1); } else { $ltext = esc_html($ltext, -nbsp=>1); @@ -6482,7 +6445,7 @@ sub git_search_grep_body { print " | ||||||||||||||||||||||||
$co{'age_string_date'} | \n" . + print "\n" . format_author_html('td', \%co, 15, 5) . " | " .
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'}),
@@ -6502,7 +6465,7 @@ sub git_search_grep_body {
$match = esc_html($match);
$trail = esc_html($trail);
- print "$lead$match$trail "; + print "$lead$match$trail "; } } print " | \n" .
@@ -6539,6 +6502,7 @@ sub git_project_list {
}
git_header_html();
+ git_end_subhead_html();
if (defined $home_text && -f $home_text) {
print "
description | " . esc_html($descr) . " | |
description | " . esc_html($descr) . " | |
---|---|---|
owner | " . esc_html($owner) . " | |
owner | " . esc_html($owner) . " | |
last change | " . + print "||
last change | " . "".format_timestamp_html(\%cd)." | |
content tags | " . + "content tags | " . "".git_show_project_tagcloud($cloud, 48)." | " . "
object | \n" . + "object | \n" . "" . $cgi->a({-class => "list", -href => href(action=>$tag{'type'}, hash=>$tag{'object'})}, $tag{'object'}) . " | \n" . "" . $cgi->a({-href => href(action=>$tag{'type'}, hash=>$tag{'object'})},
@@ -7177,9 +7155,8 @@ sub git_blob {
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
} else {
- print " \n" .
- " \n" .
- "".esc_html($hash)." \n";
+ git_end_subhead_html();
+ print "".esc_html($hash)." \n";
}
git_print_page_path($file_name, "blob", $hash_base);
print "\n";
@@ -7260,8 +7237,7 @@ sub git_tree {
git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
} else {
undef $hash_base;
- print " \n";
- print " \n";
+ git_end_subhead_html();
print "".esc_html($hash)." \n";
}
if (defined $file_name) {
@@ -7608,9 +7584,9 @@ sub git_commit {
print "\n" .
"
|
---|