- 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>
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>
- 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>
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>