summaryrefslogtreecommitdiff
path: root/cgithub
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-08-11 08:17:54 -0400
committerJoe Mou <dev@mou.fo>2026-08-11 08:19:32 -0400
commit9cef0850f8049a8f1cb11097852738de4cad4a30 (patch)
treee2db0a0985fa66c0e53a341f931f98432fdf88a7 /cgithub
parent0be1fdd2635fbc49d7451d3711b5772e1e9990e2 (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>
Diffstat (limited to 'cgithub')
-rw-r--r--cgithub/src/app.ts5
-rw-r--r--cgithub/views/layout.eta4
2 files changed, 6 insertions, 3 deletions
diff --git a/cgithub/src/app.ts b/cgithub/src/app.ts
index e34c7b1..5bed45d 100644
--- a/cgithub/src/app.ts
+++ b/cgithub/src/app.ts
@@ -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/cgithub/views/layout.eta b/cgithub/views/layout.eta
index a80bd1d..f803caf 100644
--- a/cgithub/views/layout.eta
+++ b/cgithub/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) {