Switch from /rssapi/api/webmentions to /webmentions-api/api/mentions
for cleaner separation of concerns.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add tabbed interface: "My Activity" (outbound) and "Received" (inbound)
- Fetch webmentions from webmention.io API client-side for real-time data
- Filter by type: likes, reposts, replies, mentions
- Show author avatar, action type badge, date, and target post
- Load more pagination for large webmention sets
- Default to inbound tab to highlight interactions from others
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Blog dropdown with all post types (articles, notes, photos, bookmarks, likes, replies, reposts)
- Add Activity dropdown with GitHub, Listening, Funkwhale, YouTube
- Add /news and /interactions links to main nav
- Add mobile-responsive collapsible sections with Alpine.js
- Add CSS for dropdown menus and mobile nav sections
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add js/webmentions.js to fetch new webmentions from webmention.io API
- Supplements build-time cached webmentions with real-time data
- Shows new webmentions with 'NEW' badge and visual ring highlight
- Uses safe DOM methods to prevent XSS vulnerabilities
- Data attributes on webmentions container provide target URL and build time
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fetches data from /rssapi/api/* on page load
- Auto-refresh every 5 minutes
- Manual refresh button
- Loading and error states
- Pagination support
- Real-time sync status display
- No more dependency on Eleventy build for fresh data
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
For aggregated feeds (like FreshRSS), display the original source
title (e.g., "Hacker News") instead of the aggregator name.
Falls back to feedTitle for direct RSS feeds.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 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>
New order:
1. Featured Projects
2. Recent Commits
3. Contributions/PRs
4. My Repositories
5. Starred Repositories
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>
Ensures Claude Code knows to update the indiekit-cloudron submodule
after making changes to this theme repo.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Indiekit Eleventy preset uses camelcaseKeys to convert frontmatter
properties (e.g., bookmark-of → bookmarkOf), but templates expected
underscore-separated names (bookmark_of).
Changes:
- Support both camelCase and underscore property names in all templates
- Update collections to filter on both property name formats
- Include interaction URLs (bookmarks, likes, replies, reposts) in
Bridgy syndication content for proper social media posting
Fixes bookmark URLs not appearing on posts or in syndicated content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Make all headings responsive (text-2xl sm:text-3xl pattern)
- Make all section headings responsive (text-xl sm:text-2xl)
- Add responsive margins (mb-6 sm:mb-8 pattern)
- Fix flex layouts to stack on mobile (flex-col sm:flex-row)
- Make images responsive (w-20 sm:w-24 pattern)
- Add responsive padding (p-4 sm:p-6)
- Improve grid gaps for mobile (gap-3 sm:gap-4)
- Add CSS utilities for table overflow and touch scrolling
- Restyle 404 page with proper responsive design
Files updated: 22 template and CSS files across all pages
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>
Navigation now includes both /listening (combined Last.fm + Funkwhale)
and /funkwhale (Funkwhale-only). Sidebar widget links to combined page.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
content/ is in .gitignore because it's a symlink at runtime,
but Eleventy 3.x respects .gitignore by default which was
preventing content files from being processed.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>