gitweb: Divide page path into directories -- path's "breadcrumbs"
Divide page path into directories, so that each part of path links to the "tree" view of the $hash_base (or HEAD, if $hash_base is not set) version of the directory. If the entity is blob, final part (basename) links to $hash_base or HEAD revision of the "raw" blob ("blob_plain" view). If the entity is tree, link to the "tree" view. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
72dbafa1e6
commit
762c7205f6
@ -1405,19 +1405,32 @@ sub git_print_page_path {
|
||||
|
||||
if (!defined $name) {
|
||||
print "<div class=\"page_path\">/</div>\n";
|
||||
} elsif (defined $type && $type eq 'blob') {
|
||||
print "<div class=\"page_path\">";
|
||||
if (defined $hb) {
|
||||
print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name,
|
||||
hash_base=>$hb)},
|
||||
esc_html($name));
|
||||
} else {
|
||||
print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name)},
|
||||
esc_html($name));
|
||||
my @dirname = split '/', $name;
|
||||
my $basename = pop @dirname;
|
||||
my $fullname = '';
|
||||
|
||||
print "<div class=\"page_path\">";
|
||||
foreach my $dir (@dirname) {
|
||||
$fullname .= $dir . '/';
|
||||
print $cgi->a({-href => href(action=>"tree", file_name=>$fullname,
|
||||
hash_base=>$hb),
|
||||
-title => $fullname}, esc_html($dir));
|
||||
print "/";
|
||||
}
|
||||
if (defined $type && $type eq 'blob') {
|
||||
print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name,
|
||||
hash_base=>$hb),
|
||||
-title => $name}, esc_html($basename));
|
||||
} elsif (defined $type && $type eq 'tree') {
|
||||
print $cgi->a({-href => href(action=>"tree", file_name=>$file_name,
|
||||
hash_base=>$hb),
|
||||
-title => $name}, esc_html($basename));
|
||||
print "/";
|
||||
} else {
|
||||
print esc_html($basename);
|
||||
}
|
||||
print "<br/></div>\n";
|
||||
} else {
|
||||
print "<div class=\"page_path\">" . esc_html($name) . "<br/></div>\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user