Normal operation of blame view requires div.highlight to
have absolute position and set to its parent's top left
for me.

Otherwise the grey background boxes indicating the extent of
the patch in the lines td displace the highlit sources, they
start at the bottom of the td.

This patch makes the blame highlight div start back up the top of
its parent area and render on top of the grey boxes.

Checked on Linux Firefox 60 and Linux Chrome 69.

"highlight" div class name is also used in md2html rendering
output.  So this patch solves it by introducing a wrapper
div and new "blame_highlight" css class.

Signed-off-by: Andy Green <a...@warmcat.com>
---
 cgit.css   |    2 ++
 ui-blame.c |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/cgit.css b/cgit.css
index da8d9b0..5a85ceb 100644
--- a/cgit.css
+++ b/cgit.css
@@ -162,6 +162,8 @@ div#cgit table.list 
tr.nohover-highlight:hover:nth-child(odd) {
        background: white;
 }
 
+div#cgit div.blame_highlight { position: absolute; top: 0; left: 0; }
+
 div#cgit table.list th {
        font-weight: bold;
        /* color: #888;
diff --git a/ui-blame.c b/ui-blame.c
index 6e23f0b..ab44e3f 100644
--- a/ui-blame.c
+++ b/ui-blame.c
@@ -196,7 +196,7 @@ static void print_object(const struct object_id *oid, const 
char *path,
        free((void *)sb.final_buf);
 
        /* Lines */
-       html("<pre><code>");
+       html("<div class=\"blame_highlight\"> <pre><code>");
        if (ctx.repo->source_filter) {
                char *filter_arg = xstrdup(basename);
                cgit_open_filter(ctx.repo->source_filter, filter_arg);
@@ -207,7 +207,7 @@ static void print_object(const struct object_id *oid, const 
char *path,
                html_txt(buf);
        }
 
-       html("</code></pre>");
+       html("</code></pre></div>");
 
        html("</div></td>\n");
 

_______________________________________________
CGit mailing list
CGit@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/cgit

Reply via email to