- Bluesky URLs now get rel='me atproto' for verification
- Added fediverse:creator meta tag for Mastodon creator attribution
- Meta tag populated from MASTODON_INSTANCE and MASTODON_USER env vars
- newsActivity.js: Fetch items/feeds/status from /rssapi/api
- news.njk: News page with list/card/full view modes and feed filtering
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
GitHub's Events API no longer includes commit details in PushEvent
payloads. This adds a fallback that fetches commits directly from
the user's recently pushed repositories when events don't have them.
- Try events API first (existing behavior)
- If no commits, fetch from user's top 5 recently pushed repos
- Sort combined results by date
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix fallback logic (empty object is truthy)
- Try multiple paths for Docker and local dev
- Add debug logging for file discovery
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add lastfmActivity.js data fetcher for Indiekit Last.fm API
- Add listening.njk combined page with Funkwhale + Last.fm data
- Source filter tabs, combined stats, recent listens timeline
- Loved tracks section for Last.fm
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add urlAliases.js to parse redirect maps and build old→new URL mappings
- Enhance webmentionsForUrl filter to check legacy URLs (micro.blog, Known/WP)
- Update webmentions.njk to pass urlAliases data
- Add webmention-debug.njk page at /debug/webmentions/
This recovers webmentions sent to old URL structures:
- micro.blog: /YYYY/MM/DD/slug.html
- Known/WordPress: /YYYY/slug
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>