* [PATCH] gitweb: Add title attribute with full first line of tag comment if it is needed
@ 2006-06-21 22:42 Jakub Narebski
2006-06-21 23:10 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Jakub Narebski @ 2006-06-21 22:42 UTC (permalink / raw)
To: git; +Cc: Jakub Narebski
For commits in oneline view (summary, shortlog, history) commit title
(first line of commit message) is link to commit itself. If commit title
(commit description) is shortened in output, hyperlink has title attribute
with full title.
This commit does the same also for tags. It is much more rare to have long
tag description, though.
Misfeature: sometimes tag link has title attribute even if tag description
doesn't seem to be shortened.
Needs refactoring (twice done almost exactly the same, four times similar
code is used).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
gitweb/gitweb.cgi | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
e41a09e140c1ecd933ae90e7b55660d67f33dc1b
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index e044c61..8f8ae4a 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -326,7 +326,7 @@ EOF
} elsif (defined $hash) {
$search_hash = $hash;
} else {
- $search_hash = "HEAD";
+ $search_hash = "HEAD";
}
$cgi->param("a", "search");
$cgi->param("h", $search_hash);
@@ -1107,7 +1107,8 @@ sub git_summary {
foreach my $entry (@$taglist) {
my %tag = %$entry;
my $comment_lines = $tag{'comment'};
- my $comment = shift @$comment_lines;
+ my $comment_long = shift @$comment_lines;
+ my $comment = $comment_long;
if (defined($comment)) {
$comment = chop_str($comment, 30, 5);
}
@@ -1119,13 +1120,17 @@ sub git_summary {
$alternate ^= 1;
if ($i-- > 0) {
print "<td><i>$tag{'age'}</i></td>\n" .
- "<td>" .
+ "<td>";
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$tag{'reftype'};h=$tag{'refid'}"), -class => "list"},
"<b>" . esc_html($tag{'name'}) . "</b>") .
"</td>\n" .
"<td>";
if (defined($comment)) {
- print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
+ if (length($comment) < length($comment_long)) {
+ print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}"), -title => "$comment_long"}, $comment);
+ } else {
+ print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
+ }
}
print "</td>\n" .
"<td class=\"link\">";
@@ -1346,7 +1351,8 @@ sub git_tags {
foreach my $entry (@$taglist) {
my %tag = %$entry;
my $comment_lines = $tag{'comment'};
- my $comment = shift @$comment_lines;
+ my $comment_long = shift @$comment_lines;
+ my $comment = $comment_long;
if (defined($comment)) {
$comment = chop_str($comment, 30, 5);
}
@@ -1363,7 +1369,11 @@ sub git_tags {
"</td>\n" .
"<td>";
if (defined($comment)) {
- print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
+ if (length($comment) < length($comment_long)) {
+ print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}"), -title => "$comment_long"}, $comment);
+ } else {
+ print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
+ }
}
print "</td>\n" .
"<td class=\"link\">";
--
1.3.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] gitweb: Add title attribute with full first line of tag comment if it is needed
2006-06-21 22:42 [PATCH] gitweb: Add title attribute with full first line of tag comment if it is needed Jakub Narebski
@ 2006-06-21 23:10 ` Junio C Hamano
2006-06-22 6:54 ` Jakub Narebski
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2006-06-21 23:10 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
Jakub Narebski <jnareb@gmail.com> writes:
> For commits in oneline view (summary, shortlog, history) commit title
> (first line of commit message) is link to commit itself. If commit title
> (commit description) is shortened in output, hyperlink has title attribute
> with full title.
There are pure fixes and this "-title" enhancement intermixed.
Can we have fixes-only first?
> diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
> index e044c61..8f8ae4a 100755
> --- a/gitweb/gitweb.cgi
> +++ b/gitweb/gitweb.cgi
> @@ -326,7 +326,7 @@ EOF
> } elsif (defined $hash) {
> $search_hash = $hash;
> } else {
> - $search_hash = "HEAD";
> + $search_hash = "HEAD";
> }
> $cgi->param("a", "search");
> $cgi->param("h", $search_hash);
Is a fix.
> @@ -1107,7 +1107,8 @@ sub git_summary {
> foreach my $entry (@$taglist) {
> my %tag = %$entry;
> my $comment_lines = $tag{'comment'};
> - my $comment = shift @$comment_lines;
> + my $comment_long = shift @$comment_lines;
> + my $comment = $comment_long;
> if (defined($comment)) {
> $comment = chop_str($comment, 30, 5);
> }
Is an enhancement.
> @@ -1119,13 +1120,17 @@ sub git_summary {
> $alternate ^= 1;
> if ($i-- > 0) {
> print "<td><i>$tag{'age'}</i></td>\n" .
> - "<td>" .
> + "<td>";
> $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$tag{'reftype'};h=$tag{'refid'}"), -class => "list"},
> "<b>" . esc_html($tag{'name'}) . "</b>") .
> "</td>\n" .
> "<td>";
Is a fix. How could we have missed this?
> if (defined($comment)) {
> - print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
> + if (length($comment) < length($comment_long)) {
> + print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}"), -title => "$comment_long"}, $comment);
> + } else {
> + print $cgi->a({-class => "list", -href => "$my_uri?" . esc_param("p=$project;a=tag;h=$tag{'id'}")}, $comment);
> + }
> }
> print "</td>\n" .
> "<td class=\"link\">";
Is an enhancement -- I suspect it is not worth to switch
depending on the length of $comment_long. Does it clutter the
output too much if you did -title to everybody?
> @@ -1346,7 +1351,8 @@ sub git_tags {
> foreach my $entry (@$taglist) {
> my %tag = %$entry;
> my $comment_lines = $tag{'comment'};
> - my $comment = shift @$comment_lines;
> + my $comment_long = shift @$comment_lines;
> + my $comment = $comment_long;
> if (defined($comment)) {
> $comment = chop_str($comment, 30, 5);
> }
Is an enhancement. I think the matching hunk to fix the same
"$cgi->a() output concatenated as print argument" problem is
missing here. And the next hunk the same comment as the one for
git_summary applies.
And as you say, git_summary and git_tags do look similar. Maybe
we would want to refactor them first to clean things up before
piling up more features?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gitweb: Add title attribute with full first line of tag comment if it is needed
2006-06-21 23:10 ` Junio C Hamano
@ 2006-06-22 6:54 ` Jakub Narebski
0 siblings, 0 replies; 3+ messages in thread
From: Jakub Narebski @ 2006-06-22 6:54 UTC (permalink / raw)
To: git
Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
>
>> For commits in oneline view (summary, shortlog, history) commit title
>> (first line of commit message) is link to commit itself. If commit title
>> (commit description) is shortened in output, hyperlink has title attribute
>> with full title.
>
> There are pure fixes and this "-title" enhancement intermixed.
> Can we have fixes-only first?
O.K. done.
> And as you say, git_summary and git_tags do look similar. Maybe
> we would want to refactor them first to clean things up before
> piling up more features?
O.K. will do.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-06-22 6:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-21 22:42 [PATCH] gitweb: Add title attribute with full first line of tag comment if it is needed Jakub Narebski
2006-06-21 23:10 ` Junio C Hamano
2006-06-22 6:54 ` Jakub Narebski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).