<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgithub.git/views/_languages.eta, branch main</title>
<subtitle>GitHub alternative frontend</subtitle>
<id>http://git.mou.fo/2026/cgithub.git/atom/views/_languages.eta?h=main</id>
<link rel='self' href='http://git.mou.fo/2026/cgithub.git/atom/views/_languages.eta?h=main'/>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/'/>
<updated>2026-08-11T22:25:26Z</updated>
<entry>
<title>Read the About box and latest release from JSON</title>
<updated>2026-08-11T22:25:26Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T21:41:01Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=950d7e430b833f3e428f1af100f6fb74bdd76a2d'/>
<id>urn:sha1:950d7e430b833f3e428f1af100f6fb74bdd76a2d</id>
<content type='text'>
GitHub rebuilt the repository sidebar, so the selectors parseRepoInfo used
matched nothing and the About box rendered empty. Everything but the latest
release is in the page's embedded payload as sidebarAbout; the latest release
is only in the _sidebar JSON already fetched for languages, so it arrives with
that fragment and is moved beside the release count.
</content>
</entry>
<entry>
<title>Add language percentages to repo pages</title>
<updated>2026-08-11T12:13:58Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T12:09:47Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/cgithub.git/commit/?id=b43ce92c7b16bdefedb7c4c2aef41f9417f1ddf6'/>
<id>urn:sha1:b43ce92c7b16bdefedb7c4c2aef41f9417f1ddf6</id>
<content type='text'>
GitHub no longer server-renders the repository sidebar; its React UI
lazily fetches /:owner/:repo/_sidebar as JSON, which carries the
language breakdown (name, percentage, color). getGitHubLanguages() uses
that endpoint, and a new /api/:owner/:repo/languages fragment route
renders the bar and legend the same way refs and latest-commit already
work, so repo page loads still cost a single scrape.

The latest-commit placeholder loader in refs.js is generalized over
.placeholder[data-src] so both placeholders share it.

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