Gitea's commits API ignores the 'since' query param entirely, so all
360 commits were fetched via multiple pages on every load.
Replace days-based approach with simple page pagination:
- Initial load: page 1, limit=50 per repo (2 requests, ~2s)
- Load more: appends page 2, 3, ... on demand
- No more while loop or date filtering
- Remove daysProgression / currentDays state
- Clean up summary text
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Gitea's commits API ignores the 'since' param, returning all 360+
commits regardless. Added client-side date filtering: skip commits
older than the cutoff and break pagination early once a page contains
commits past the cutoff. Prevents fetching 7+ pages on every load.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Sidebar "GitHub" widget renamed to "Gitea", links point to gitea.giersig.eu/giersig.eu
- Runtime widget JS fetches commits/repos/PRs directly from Gitea API
- Build-time data files (githubActivity, githubRepos) switched from GitHub API to Gitea API
- changelog.njk fetches from Gitea API directly with client-side commit categorisation
- GITEA_URL / GITEA_ORG added to deploy.yml build env
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The server-side patch isn't fully applied — the API returns commitCategory
values "chores" and "refactor" instead of "performance"/"accessibility"/"other".
Updated tabs, labels, and colors to match the live API response.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The IndieKit endpoint-github is mounted at /github, not /githubapi.
The wrong path returned a login page instead of JSON, leaving the
changelog empty for readers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns the changelog page with the updated indiekit endpoint-github
patch (patch-endpoint-github-changelog-categories.mjs) which now
categorizes perf:/a11y:/docs: commit prefixes in addition to
feat:/fix:.
Aligns with backend patch that categorises commits by message prefix
rather than repo name. Drops Core, Deployment, Theme, Endpoints,
Syndicators, Post Types, Presets tabs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add skip-to-main-content link and main content ID target
- Add prefers-reduced-motion media queries for all animations
- Enhance visible focus indicators (2px offset, high-contrast ring)
- Replace ~160 text-surface-500 instances with text-surface-600/dark:text-surface-400
for 4.5:1+ contrast ratio compliance
- Add aria-hidden="true" to ~30+ decorative SVG icons across sidebars/widgets
- Convert facepile containers from div to semantic ul/li with role="list"
- Add aria-label to icon-only buttons (share, sort controls)
- Add sr-only labels to form inputs (webmention, search)
- Add aria-live="polite" to dynamically loaded webmentions
- Add aria-label with relative+absolute date to time-difference component
- Add keyboard handlers (Enter/Space) to custom interactive elements
- Add aria-label to nav landmarks (table of contents)
- Fix modal focus trap and dialog accessibility
- Fix lightbox keyboard navigation and screen reader announcements
Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
- New /changelog/ page with Alpine.js tabbed interface showing commits
across all indiekit repos, categorized into 7 groups with load-more
- Footer refactored from minimal feed links to responsive 4-zone grid:
Navigate, Content, Connect (social links), Meta (feeds + changelog)
- Footer uses grid-cols-2 on mobile, grid-cols-4 on desktop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>