+<link rel="stylesheet" type="text/css" href="/static/css/syntax/[% language %].css"/>
[% PROCESS 'nav/actions.tt2' object = head %]
[% IF object.type == 'commit' %]
-<div class='commit-message'>
-[% head.comment.substr(0, 85) %] ...
-</div>
+<div class='commit-message'>[% short_cmt(head.comment) %]</div>
[% END %]
-<h3>BLOB PATH</h3>
+[% INCLUDE 'nav/path.tt2' %]
-<div class='blame'>
+<div id='blame'>
<table>
-[% FOR info IN blame %]
-<tr>
- <td><a title="[% info.commit.author %] on [% info.commit.author_dt %]" href='[% c.uri_for('commit', {h=info.commit.sha1}) %]'>[% info.commit.sha1.substr(0,6) %]</a></td>
- <td>[% info.meta.lineno %]</td>
- <td><pre class='blame-line'>[% info.line | html %]</pre></td>
-</tr>
-[% END %]
+ <thead>
+ <tr>
+ <th>author</th>
+ <th>date</th>
+ <th>sha1</th>
+ <th></th>
+ <th class='data'>data</th>
+ </tr>
+ </thead>
+
+ <tfoot>
+ <tr>
+ <td>author</td>
+ <td>date</td>
+ <td>sha1</td>
+ <td></td>
+ <td class='data'>data</td>
+ </tr>
+ </tfoot>
+
+ <tbody>
+ [% blame_lines = blob.split("\n") %]
+ [% FOR info IN blame %]
+ <tr class=''>
+ [%-
+ linecolour = info.commit.sha1.substr(0,6);
+ IF info.commit.sha1 != lastsha1;
+ styleinfo = " style='border-top: solid 3px #" _ linecolour _ ";'"; -%]
+ <td class='author'[% styleinfo %]>[% info.commit.author %]</td>
+ <td class='date'[% styleinfo %]>[% info.commit.author_dt.ymd %]</td>
+ <td class='commit-info chroma-hash'[% styleinfo %]><a title="[% info.commit.author %] on [% info.commit.author_dt %]" href='[% c.uri_for('commit', {h=info.commit.sha1}) %]'>[% linecolour %]</td>
+ [%- ELSE -%]
+ <td class='author'></td>
+ <td class='date'></td>
+ <td class='commit-info'></td>
+ [%- END -%]
+ <td class='lineno' style='border-right: solid 3px #[% linecolour %]; border-left: solid 3px #[% linecolour %];'><tt>[% info.meta.lineno %]</tt></td>
+ <td class='data'><pre>[% blame_lines.${loop.index} %]</pre></td>
+ [% lastsha1 = info.commit.sha1 %]
+ </tr>
+ [% END %]
+ </tbody>
</table>
</div>