46640c68b9
Empty (zero-length) blobs are currently rendered by 'pygments' misleadingly as a single empty line, or, when 'pygments' is unavailable, as "nothingness" preceding a horizontal rule. In either case, it is somewhat difficult to glean concrete information about the blob. Address this by instead rendering summary information about the blob: in particular, its classification ("empty") and its size ("0 bytes"). This is analogous to the summary information rendered for binary blobs ("binary" and size). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
89 lines
2.3 KiB
HTML
89 lines
2.3 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
|
|
% if not dirname.raw:
|
|
% reltree = './'
|
|
% else:
|
|
% reltree = '../' * (len(dirname.split('/')) - 1)
|
|
% end
|
|
% relroot = reltree + '../' * (len(repo.branch.split('/')) - 1)
|
|
|
|
<title>git » {{repo.name}} »
|
|
{{repo.branch}} » {{dirname.unicode}}/{{fname.unicode}}</title>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{{relroot}}../../../../../static/git-arr.css"/>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{{relroot}}../../../../../static/syntax.css"/>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
|
</head>
|
|
|
|
<body class="tree">
|
|
<h1><a href="{{relroot}}../../../../../">git</a> »
|
|
<a href="{{relroot}}../../../">{{repo.name}}</a> »
|
|
<a href="{{reltree}}../">{{repo.branch}}</a> »
|
|
<a href="{{reltree}}">tree</a>
|
|
</h1>
|
|
|
|
<h3>
|
|
<a href="{{reltree}}">[{{repo.branch}}]</a> /
|
|
% base = smstr(reltree)
|
|
% for c in dirname.split('/'):
|
|
% if not c.raw:
|
|
% continue
|
|
% end
|
|
<a href="{{base.url}}{{c.url}}/">{{c.unicode}}</a> /
|
|
% base += c + '/'
|
|
% end
|
|
<a href="">{{!fname.html}}</a>
|
|
</h3>
|
|
|
|
% if len(blob.raw_content) == 0:
|
|
<table class="nice">
|
|
<tr>
|
|
<td>empty — 0 bytes</td>
|
|
</tr>
|
|
</table>
|
|
% elif can_embed_image(repo, fname.unicode):
|
|
{{!embed_image_blob(fname.raw, blob.raw_content)}}
|
|
% elif is_binary(blob.raw_content):
|
|
<table class="nice blob-binary">
|
|
<tr>
|
|
<td colspan="4">
|
|
binary — {{'{:,}'.format(len(blob.raw_content))}} bytes
|
|
</td>
|
|
</tr>
|
|
% lim = 256
|
|
% for offset, hex1, hex2, text in hexdump(blob.raw_content[:lim]):
|
|
<tr>
|
|
<td class="offset">{{offset}}</td>
|
|
<td><pre>{{hex1}}</pre></td>
|
|
<td><pre>{{hex2}}</pre></td>
|
|
<td><pre>{{text}}</pre></td>
|
|
</tr>
|
|
% end
|
|
% if lim < len(blob.raw_content):
|
|
<tr class="etc">
|
|
<td></td>
|
|
<td>…</td>
|
|
<td>…</td>
|
|
<td>…</td>
|
|
</tr>
|
|
% end
|
|
</table>
|
|
% elif can_markdown(repo, fname.unicode):
|
|
{{!markdown_blob(blob.utf8_content)}}
|
|
% elif can_colorize(blob.utf8_content):
|
|
{{!colorize_blob(fname.unicode, blob.utf8_content)}}
|
|
% else:
|
|
<pre class="blob-body">
|
|
{{blob.utf8_content}}
|
|
</pre>
|
|
% end
|
|
|
|
<hr/>
|
|
|
|
</body>
|
|
</html>
|