diff options
| author | Joe Mou <dev@mou.fo> | 2026-08-27 14:08:06 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2026-08-27 14:53:38 -0400 |
| commit | 0d60b8c8235c3c07f675aba7a56dd37b62519f9e (patch) | |
| tree | 8c94cef7b3530e72fc8542072b037081e5bb18ae /cgithub/views/blob.eta | |
| parent | 16dfeb61f79e6cd44c667422b8dc50f226269d80 (diff) | |
Display PDF blobs
GitHub renders a PDF with a viewer of its own and so ships no content for
one, leaving the blob view with nothing to show. Its raw bytes come as
application/octet-stream, which browsers download rather than display, so
serve them from a new embed route that retypes them and point an <object>
at that.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BErPR92xppzGFXkPqXPYj2
Diffstat (limited to 'cgithub/views/blob.eta')
| -rw-r--r-- | cgithub/views/blob.eta | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cgithub/views/blob.eta b/cgithub/views/blob.eta index c7315f6..444508e 100644 --- a/cgithub/views/blob.eta +++ b/cgithub/views/blob.eta @@ -14,6 +14,11 @@ <% if (it.image) { %> <div class="box"><img src="/<%= it.repo.owner %>/<%= it.repo.name %>/raw/<%= it.branch %>/<%= it.path %>"></div> +<% } else if (it.renderFileType === "pdf") { %> + <object class="box pdf" type="application/pdf" + data="/<%= it.repo.owner %>/<%= it.repo.name %>/embed/<%= it.renderFileType %>/<%= it.branch %>/<%= it.path %>"> + This file cannot be displayed. + </object> <% } else if (it.htmlContent) { %> <div class="box"><%~ it.htmlContent %></div> <% } else if (it.htmlLines) { %> @@ -21,5 +26,5 @@ <% } else if (it.textLines) { %> <pre class="box"><code><%= it.textLines.join("\n") %></code></pre> <% } else { %> - <div class="box">This file cannot be displayed</div> + <div class="box">This file cannot be displayed.</div> <% } %> |
