diff options
| author | Joe Mou <dev@mou.fo> | 2026-09-03 01:26:44 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2026-09-03 01:27:35 -0400 |
| commit | 501587e256a065816f7eb6007030e728955a32dc (patch) | |
| tree | d218635dd8403ec7904a3248b0f7d8efee34b74f /cgithub/views/blob.eta | |
| parent | f951c579f7093cc5c61bcb3c0905c7a6729df065 (diff) | |
Anchor blob lines so #L fragments work
Wrap each rendered line in a <span id="Ln">, for both syntax-highlighted
and plain-text blobs, and shade the line a fragment targets.
Diffstat (limited to 'cgithub/views/blob.eta')
| -rw-r--r-- | cgithub/views/blob.eta | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cgithub/views/blob.eta b/cgithub/views/blob.eta index 444508e..be9a57e 100644 --- a/cgithub/views/blob.eta +++ b/cgithub/views/blob.eta @@ -22,9 +22,11 @@ <% } else if (it.htmlContent) { %> <div class="box"><%~ it.htmlContent %></div> <% } else if (it.htmlLines) { %> - <pre class="box"><code><%~ it.htmlLines.join("\n") %></code></pre> + <pre class="box"><code><% for (const [i, line] of it.htmlLines.entries()) { + %><%= i ? "\n" : "" %><span id="L<%= i + 1 %>"><%~ line %></span><% } %></code></pre> <% } else if (it.textLines) { %> - <pre class="box"><code><%= it.textLines.join("\n") %></code></pre> + <pre class="box"><code><% for (const [i, line] of it.textLines.entries()) { + %><%= i ? "\n" : "" %><span id="L<%= i + 1 %>"><%= line %></span><% } %></code></pre> <% } else { %> <div class="box">This file cannot be displayed.</div> <% } %> |
