diff options
| author | Joe Mou <dev@mou.fo> | 2026-08-11 08:17:54 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2026-08-11 08:19:32 -0400 |
| commit | 54430d7b02cc78b4a5aa5a4f917f8da85a385efe (patch) | |
| tree | bca2a7972e1217250a078a3645817faef249ca94 | |
| parent | b43ce92c7b16bdefedb7c4c2aef41f9417f1ddf6 (diff) | |
Link repo header and add a "View original" link
The owner/name header in the layout now links to the owner page and the
repository root. tryRender passes the request's path and query through
as githubUrl — our URLs mirror GitHub's, so the same path is the page we
scraped — and the footer links there with rel="noreferrer", matching the
no-referrer policy used on redirects to github.com.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| -rw-r--r-- | src/app.ts | 5 | ||||
| -rw-r--r-- | views/layout.eta | 4 |
2 files changed, 6 insertions, 3 deletions
@@ -44,7 +44,10 @@ export function createApp(eta: Eta) { return c.html(eta.render("error.eta", { message: "" + e })); } } - return c.html(eta.render(template, data)); + // Our URLs mirror GitHub's, so the page we scraped is the same path there. + const { pathname, search } = new URL(c.req.url); + const githubUrl = `https://github.com${pathname}${search}`; + return c.html(eta.render(template, { ...data, githubUrl })); } // For fragments fetched asynchronously by client-side JS (see public/static/refs.js): diff --git a/views/layout.eta b/views/layout.eta index a80bd1d..f803caf 100644 --- a/views/layout.eta +++ b/views/layout.eta @@ -9,7 +9,7 @@ </head> <body> <div class="box"> - <div class="repo"><%= it.repo.owner %>/<%= it.repo.name %></div> + <div class="repo"><a href="/<%= it.repo.owner %>"><%= it.repo.owner %></a>/<a href="/<%= it.repo.owner %>/<%= it.repo.name %>"><%= it.repo.name %></a></div> <pre><code>git clone https://github.com/<%= it.repo.owner %>/<%= it.repo.name %>.git git clone git@github.com:<%= it.repo.owner %>/<%= it.repo.name %>.git</code></pre> <nav> @@ -34,7 +34,7 @@ git clone git@github.com:<%= it.repo.owner %>/<%= it.repo.name %>.git</code></pr <%~ it.body %> - <footer>Generated by cgithub</footer> + <footer>Generated by cgithub · <a href="<%= it.githubUrl %>" rel="noreferrer">View original</a></footer> <script> document.addEventListener("keydown", function(e) { |
