<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgithub.git/views/releases.eta, branch main</title>
<subtitle>GitHub alternative frontend</subtitle>
<id>http://git.mou.fo/2026/cgithub.git/atom/views/releases.eta?h=main</id>
<link rel='self' href='http://git.mou.fo/2026/cgithub.git/atom/views/releases.eta?h=main'/>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/'/>
<updated>2026-09-05T01:49:59Z</updated>
<entry>
<title>Split the page shell out of the repository layout</title>
<updated>2026-09-05T01:49:59Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-09-05T01:26:21Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=3fd91017f05714fb5c049d662ae00dc31203485b'/>
<id>urn:sha1:3fd91017f05714fb5c049d662ae00dc31203485b</id>
<content type='text'>
layout.eta was two things at once: the HTML shell every page needs and
the repository chrome around it. owner.eta, being the one page that is
not about a repository, could use neither and carried its own copy of
the shell, which had drifted -- its footer named no build commit and
did not link to the original page on GitHub.

The shell moves to views/layouts/base.eta, taking its title and any
deferred scripts as layout data, and the chrome to views/layouts/repo.eta,
a layout over it that adds the clone commands, nav, search box, and the
"/" shortcut that focuses it. Repository pages point at repo.eta and
render as before; owner.eta uses base.eta directly and so gains the
footer it was missing.

Templates now live in more than one directory, so scripts/build.ts walks
views/ recursively and keys each template by its path underneath it.
Names crossing a directory are written from the views root
("/layouts/base.eta"), the one form both Eta's filesystem resolver and
the precompiled resolver in worker.ts agree on; siblings stay relative.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Ba5p88cWtCq42vf3uweweL
</content>
</entry>
<entry>
<title>Release styling</title>
<updated>2026-02-21T05:57:06Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-02-21T05:46:11Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=2f96fdfcb0ad0045eb2c080ccc832068b8264b85'/>
<id>urn:sha1:2f96fdfcb0ad0045eb2c080ccc832068b8264b85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add single release detail pages and refactor templates</title>
<updated>2026-02-21T05:30:23Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-02-11T07:09:26Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=8fa091c67ec624d7889aa5c22b90442197a210c4'/>
<id>urn:sha1:8fa091c67ec624d7889aa5c22b90442197a210c4</id>
<content type='text'>
Refactored releases display into reusable partial template (_release.eta) and added support for viewing individual releases at /:owner/:repo/releases/tag/:tag with navigation back to all releases.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add GitHub releases support</title>
<updated>2026-02-11T06:56:49Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-02-11T06:56:37Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=934b2c39537d6718375170a029fc1d1df01024c5'/>
<id>urn:sha1:934b2c39537d6718375170a029fc1d1df01024c5</id>
<content type='text'>
Scrapes releases page HTML to display version tags, publish dates, and changelog content.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
