| -rw-r--r-- | cgit.css | 19 | ||||
| -rw-r--r-- | ui-blame.c | 58 |
2 files changed, 23 insertions, 54 deletions
@@ -330,26 +330,11 @@ div#cgit table.ssdiff td.lineno a:hover { color: black; } -div#cgit table.blame td.hashes, -div#cgit table.blame td.lines, -div#cgit table.blame td.linenumbers { - padding: 0; -} - -div#cgit table.blame td.hashes div.alt, -div#cgit table.blame td.lines div.alt { - padding: 0 0.5em 0 0.5em; -} - -div#cgit table.blame td.linenumbers div.alt { - padding: 0 0.5em 0 0; -} - -div#cgit table.blame div.alt:nth-child(even) { +div#cgit table.blame tr:nth-child(even) { background: #eee; } -div#cgit table.blame div.alt:nth-child(odd) { +div#cgit table.blame tr:nth-child(odd) { background: white; } @@ -45,17 +45,11 @@ static void emit_blame_entry_hash(struct blame_entry *ent) { struct blame_origin *suspect = ent->suspect; struct object_id *oid = &suspect->commit->object.oid; - unsigned long line = 0; char *detail = emit_suspect_detail(suspect); - html("<span class='sha1'>"); cgit_commit_link(find_unique_abbrev(oid->hash, DEFAULT_ABBREV), detail, NULL, ctx.qry.head, oid_to_hex(oid), suspect->path); - html("</span>"); free(detail); - - while (line++ < ent->num_lines) - html("\n"); } static void emit_blame_entry_linenumber(struct blame_entry *ent) @@ -78,6 +72,24 @@ static void emit_blame_entry_line(struct blame_scoreboard *sb, html_ntxt(cp, cpend - cp); } +static void emit_blame_entry(struct blame_scoreboard *sb, + struct blame_entry *ent) +{ + html("<tr><td class='sha1 hashes'>"); + emit_blame_entry_hash(ent); + html("</td>\n"); + + if (ctx.cfg.enable_tree_linenumbers) { + html("<td class='linenumbers'><pre>"); + emit_blame_entry_linenumber(ent); + html("</pre></td>\n"); + } + + html("<td class='lines'><pre><code>"); + emit_blame_entry_line(sb, ent); + html("</code></pre></td></tr>\n"); +} + struct walk_tree_context { char *curr_rev; int match_baselen; @@ -135,44 +147,16 @@ static void print_object(const unsigned char *sha1, const char *path, return; } - html("<table class='blame blob'>\n<tr>\n"); - - /* Commit hashes */ - html("<td class='hashes'>"); - for (ent = sb.ent; ent; ent = ent->next) { - html("<div class='alt'><pre>"); - emit_blame_entry_hash(ent); - html("</pre></div>"); - } - html("</td>\n"); - - /* Line numbers */ - if (ctx.cfg.enable_tree_linenumbers) { - html("<td class='linenumbers'>"); - for (ent = sb.ent; ent; ent = ent->next) { - html("<div class='alt'><pre>"); - emit_blame_entry_linenumber(ent); - html("</pre></div>"); - } - html("</td>\n"); - } - - /* Lines */ - html("<td class='lines'>"); + html("<table class='blame blob'>"); for (ent = sb.ent; ent; ) { struct blame_entry *e = ent->next; - html("<div class='alt'><pre><code>"); - emit_blame_entry_line(&sb, ent); - html("</code></pre></div>"); + emit_blame_entry(&sb, ent); free(ent); ent = e; } - html("</td>\n"); - + html("</table>\n"); free((void *)sb.final_buf); - html("</tr>\n</table>\n"); - cgit_print_layout_end(); } |