Hacked in syntax highlighting to the blame view.
[catagits/Gitalist.git] / root / blame.tt2
index 9c3958f..92ba1c6 100644 (file)
@@ -1,16 +1,54 @@
+<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 filedata %]
-<tr><td>[% info.sha1 %]</td><td><pre>[% 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>