提交 27fb8c40 编写于 作者: J Jakub Narebski 提交者: Junio C Hamano

gitweb: Headers refactoring - use git_header_div for header divs

Add git_header_div subroutine which prints "header" divs, now with
class "header" (class "title" is taken, and has set CSS style,
changing appereance and maing layout wrong), and use it thorough
gitweb.cgi.  Change header linking to project summary from empty
(  as a contents of link) to having $project as contents/name
of link.  Sometimes a little reordering.
Signed-off-by: NJakub Narebski <jnareb@gmail.com>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 6855f42e
...@@ -420,6 +420,19 @@ sub git_page_nav { ...@@ -420,6 +420,19 @@ sub git_page_nav {
"</div>\n"; "</div>\n";
} }
sub git_header_div {
my ($action, $title, $hash, $hash_base) = @_;
my $rest = '';
$rest .= ";h=$hash" if $hash;
$rest .= ";hb=$hash_base" if $hash_base;
print "<div class=\"header\">\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action$rest"),
-class => "title"}, $title ? $title : $action) . "\n" .
"</div>\n";
}
sub git_get_paging_nav { sub git_get_paging_nav {
my ($action, $hash, $head, $page, $nrevs) = @_; my ($action, $hash, $head, $page, $nrevs) = @_;
my $paging_nav; my $paging_nav;
...@@ -1123,9 +1136,7 @@ sub git_summary { ...@@ -1123,9 +1136,7 @@ sub git_summary {
or die_error(undef, "Open git-rev-list failed."); or die_error(undef, "Open git-rev-list failed.");
my @revlist = map { chomp; $_ } <$fd>; my @revlist = map { chomp; $_ } <$fd>;
close $fd; close $fd;
print "<div>\n" . git_header_div('shortlog');
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog"), -class => "title"}, "shortlog") .
"</div>\n";
my $i = 16; my $i = 16;
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $alternate = 0; my $alternate = 0;
...@@ -1169,9 +1180,7 @@ sub git_summary { ...@@ -1169,9 +1180,7 @@ sub git_summary {
my $taglist = git_read_refs("refs/tags"); my $taglist = git_read_refs("refs/tags");
if (defined @$taglist) { if (defined @$taglist) {
print "<div>\n" . git_header_div('tags');
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tags"), -class => "title"}, "tags") .
"</div>\n";
my $i = 16; my $i = 16;
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $alternate = 0; my $alternate = 0;
...@@ -1221,9 +1230,7 @@ sub git_summary { ...@@ -1221,9 +1230,7 @@ sub git_summary {
my $headlist = git_read_refs("refs/heads"); my $headlist = git_read_refs("refs/heads");
if (defined @$headlist) { if (defined @$headlist) {
print "<div>\n" . git_header_div('heads');
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=heads"), -class => "title"}, "heads") .
"</div>\n";
my $i = 16; my $i = 16;
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $alternate = 0; my $alternate = 0;
...@@ -1276,9 +1283,7 @@ sub git_tag { ...@@ -1276,9 +1283,7 @@ sub git_tag {
git_header_html(); git_header_html();
git_page_nav('','', $head,undef,$head); git_page_nav('','', $head,undef,$head);
my %tag = git_read_tag($hash); my %tag = git_read_tag($hash);
print "<div>\n" . git_header_div('commit', esc_html($tag{'name'}), $hash);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash"), -class => "title"}, esc_html($tag{'name'})) . "\n" .
"</div>\n";
print "<div class=\"title_text\">\n" . print "<div class=\"title_text\">\n" .
"<table cellspacing=\"0\">\n" . "<table cellspacing=\"0\">\n" .
"<tr>\n" . "<tr>\n" .
...@@ -1326,9 +1331,7 @@ sub git_blame2 { ...@@ -1326,9 +1331,7 @@ sub git_blame2 {
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") .
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head"); " | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav); git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
print "<div>" . git_header_div('commit', esc_html($co{'title'}), $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) .
"</div>\n";
git_print_page_path($file_name, $ftype); git_print_page_path($file_name, $ftype);
my @rev_color = (qw(light dark)); my @rev_color = (qw(light dark));
my $num_colors = scalar(@rev_color); my $num_colors = scalar(@rev_color);
...@@ -1382,9 +1385,7 @@ sub git_blame { ...@@ -1382,9 +1385,7 @@ sub git_blame {
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") .
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head"); " | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav); git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
print "<div>" . git_header_div('commit', esc_html($co{'title'}), $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) .
"</div>\n";
git_print_page_path($file_name); git_print_page_path($file_name);
print "<div class=\"page_body\">\n"; print "<div class=\"page_body\">\n";
print <<HTML; print <<HTML;
...@@ -1460,11 +1461,10 @@ sub git_tags { ...@@ -1460,11 +1461,10 @@ sub git_tags {
my $head = git_read_head($project); my $head = git_read_head($project);
git_header_html(); git_header_html();
git_page_nav('','', $head,undef,$head); git_page_nav('','', $head,undef,$head);
my $taglist = git_read_refs("refs/tags"); git_header_div('summary', $project);
print "<div>\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=summary"), -class => "title"}, "&nbsp;") .
"</div>\n";
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $taglist = git_read_refs("refs/tags");
my $alternate = 0; my $alternate = 0;
if (defined @$taglist) { if (defined @$taglist) {
foreach my $entry (@$taglist) { foreach my $entry (@$taglist) {
...@@ -1511,11 +1511,10 @@ sub git_heads { ...@@ -1511,11 +1511,10 @@ sub git_heads {
my $head = git_read_head($project); my $head = git_read_head($project);
git_header_html(); git_header_html();
git_page_nav('','', $head,undef,$head); git_page_nav('','', $head,undef,$head);
my $taglist = git_read_refs("refs/heads"); hit_header_div('summary', $project);
print "<div>\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=summary"), -class => "title"}, "&nbsp;") .
"</div>\n";
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $taglist = git_read_refs("refs/heads");
my $alternate = 0; my $alternate = 0;
if (defined @$taglist) { if (defined @$taglist) {
foreach my $entry (@$taglist) { foreach my $entry (@$taglist) {
...@@ -1684,9 +1683,7 @@ sub git_blob { ...@@ -1684,9 +1683,7 @@ sub git_blob {
$formats_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob_plain;h=$hash")}, "plain"); $formats_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob_plain;h=$hash")}, "plain");
} }
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav); git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
print "<div>" . git_header_div('commit', esc_html($co{'title'}), $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) .
"</div>\n";
} else { } else {
print "<div class=\"page_nav\">\n" . print "<div class=\"page_nav\">\n" .
"<br/><br/></div>\n" . "<br/><br/></div>\n" .
...@@ -1740,9 +1737,7 @@ sub git_tree { ...@@ -1740,9 +1737,7 @@ sub git_tree {
if (defined $hash_base && (my %co = git_read_commit($hash_base))) { if (defined $hash_base && (my %co = git_read_commit($hash_base))) {
$base_key = ";hb=$hash_base"; $base_key = ";hb=$hash_base";
git_page_nav('tree','', $hash_base); git_page_nav('tree','', $hash_base);
print "<div>\n" . git_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'}) . $ref) . "\n" .
"</div>\n";
} else { } else {
print "<div class=\"page_nav\">\n"; print "<div class=\"page_nav\">\n";
print "<br/><br/></div>\n"; print "<br/><br/></div>\n";
...@@ -1909,10 +1904,9 @@ sub git_log { ...@@ -1909,10 +1904,9 @@ sub git_log {
git_page_nav('log','', $hash,undef,undef, $paging_nav); git_page_nav('log','', $hash,undef,undef, $paging_nav);
if (!@revlist) { if (!@revlist) {
print "<div>\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=summary"), -class => "title"}, "&nbsp;") .
"</div>\n";
my %co = git_read_commit($hash); my %co = git_read_commit($hash);
git_header_div('summary', $project);
print "<div class=\"page_body\"> Last change $co{'age_string'}.<br/><br/></div>\n"; print "<div class=\"page_body\"> Last change $co{'age_string'}.<br/><br/></div>\n";
} }
for (my $i = ($page * 100); $i <= $#revlist; $i++) { for (my $i = ($page * 100); $i <= $#revlist; $i++) {
...@@ -1924,10 +1918,10 @@ sub git_log { ...@@ -1924,10 +1918,10 @@ sub git_log {
my %co = git_read_commit($commit); my %co = git_read_commit($commit);
next if !%co; next if !%co;
my %ad = date_str($co{'author_epoch'}); my %ad = date_str($co{'author_epoch'});
print "<div>\n" . git_header_div('commit',
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$commit"), -class => "title"}, "<span class=\"age\">$co{'age_string'}</span>" .
"<span class=\"age\">$co{'age_string'}</span>" . esc_html($co{'title'}) . $ref) . "\n"; esc_html($co{'title'}) . $ref,
print "</div>\n"; $commit);
print "<div class=\"title_text\">\n" . print "<div class=\"title_text\">\n" .
"<div class=\"log_link\">\n" . "<div class=\"log_link\">\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$commit")}, "commit") . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$commit")}, "commit") .
...@@ -1999,13 +1993,9 @@ sub git_commit { ...@@ -1999,13 +1993,9 @@ sub git_commit {
$formats_nav); $formats_nav);
if (defined $co{'parent'}) { if (defined $co{'parent'}) {
print "<div>\n" . git_header_div('commitdiff', esc_html($co{'title'}) . $ref, $hash);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commitdiff;h=$hash"), -class => "title"}, esc_html($co{'title'}) . $ref) . "\n" .
"</div>\n";
} else { } else {
print "<div>\n" . git_header_div('tree', esc_html($co{'title'}), $co{'tree'}, $hash);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tree;h=$co{'tree'};hb=$hash"), -class => "title"}, esc_html($co{'title'})) . "\n" .
"</div>\n";
} }
print "<div class=\"title_text\">\n" . print "<div class=\"title_text\">\n" .
"<table cellspacing=\"0\">\n"; "<table cellspacing=\"0\">\n";
...@@ -2171,9 +2161,7 @@ sub git_blobdiff { ...@@ -2171,9 +2161,7 @@ sub git_blobdiff {
my $formats_nav = my $formats_nav =
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blobdiff_plain;h=$hash;hp=$hash_parent")}, "plain"); $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blobdiff_plain;h=$hash;hp=$hash_parent")}, "plain");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav); git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
print "<div>\n" . git_header_div('commit', esc_html($co{'title'}), $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) . "\n" .
"</div>\n";
} else { } else {
print "<div class=\"page_nav\">\n" . print "<div class=\"page_nav\">\n" .
"<br/><br/></div>\n" . "<br/><br/></div>\n" .
...@@ -2225,9 +2213,7 @@ sub git_commitdiff { ...@@ -2225,9 +2213,7 @@ sub git_commitdiff {
my $formats_nav = my $formats_nav =
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commitdiff_plain;h=$hash;hp=$hash_parent")}, "plain"); $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commitdiff_plain;h=$hash;hp=$hash_parent")}, "plain");
git_page_nav('commitdiff','', $hash,$co{'tree'},$hash, $formats_nav); git_page_nav('commitdiff','', $hash,$co{'tree'},$hash, $formats_nav);
print "<div>\n" . git_header_div('commit', esc_html($co{'title'}) . $ref, $hash);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash"), -class => "title"}, esc_html($co{'title'}) . $ref) . "\n" .
"</div>\n";
print "<div class=\"page_body\">\n"; print "<div class=\"page_body\">\n";
my $comment = $co{'comment'}; my $comment = $co{'comment'};
my $empty = 0; my $empty = 0;
...@@ -2357,9 +2343,7 @@ sub git_history { ...@@ -2357,9 +2343,7 @@ sub git_history {
my $refs = read_info_ref(); my $refs = read_info_ref();
git_header_html(); git_header_html();
git_page_nav('','', $hash_base,$co{'tree'},$hash_base); git_page_nav('','', $hash_base,$co{'tree'},$hash_base);
print "<div>\n" . git_header_div('commit', esc_html($co{'title'}), $hash_base);
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) . "\n" .
"</div>\n";
if (!defined $hash && defined $file_name) { if (!defined $hash && defined $file_name) {
$hash = git_get_hash_by_path($hash_base, $file_name); $hash = git_get_hash_by_path($hash_base, $file_name);
} }
...@@ -2440,10 +2424,8 @@ sub git_search { ...@@ -2440,10 +2424,8 @@ sub git_search {
} }
git_header_html(); git_header_html();
git_page_nav('','', $hash,$co{'tree'},$hash); git_page_nav('','', $hash,$co{'tree'},$hash);
git_header_div('commit', esc_html($co{'title'}), $hash);
print "<div>\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash"), -class => "title"}, esc_html($co{'title'})) . "\n" .
"</div>\n";
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $alternate = 0; my $alternate = 0;
if ($commit_search) { if ($commit_search) {
...@@ -2570,10 +2552,8 @@ sub git_shortlog { ...@@ -2570,10 +2552,8 @@ sub git_shortlog {
git_header_html(); git_header_html();
git_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav); git_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav);
git_header_div('summary', $project);
print "<div>\n" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=summary"), -class => "title"}, "&nbsp;") .
"</div>\n";
print "<table cellspacing=\"0\">\n"; print "<table cellspacing=\"0\">\n";
my $alternate = 0; my $alternate = 0;
for (my $i = ($page * 100); $i <= $#revlist; $i++) { for (my $i = ($page * 100); $i <= $#revlist; $i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册