Replace duplicated inline SVGs in h-card.njk and hero.njk with a shared
Nunjucks macro. Adds proper icons for ActivityPub, Forgejo, Codeberg,
PixelFed, and 25+ more platforms via Simple Icons (CC0).
Hero and h-card templates now resolve homepageConfig.identity.*
fields first, falling back to site.author.* env vars. Includes
design doc and implementation plan for the identity editor.
HTML entities in href and value attributes don't decode properly -
browsers treat them as literal strings. Only obfuscate display text.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add obfuscateEmail Eleventy filter that converts email to HTML entities
- Apply to h-card.njk (both mailto: href and display text)
- Apply to blog-sidebar.njk hidden data element
- HTML entities block ~95% of spam harvesters while remaining valid
for IndieWeb microformat parsers (u-email for rel="me" auth)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Sidebar now includes h-card.njk instead of duplicating the code
- Updated h-card.njk with hidden u-photo and full social links
- Homepage hero: replace duplicate bio with unique intro text + Read more link
- Net reduction of ~100 lines by proper component reuse
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This reverts commit d6640d5 and 70c6622 which broke the sidebar rendering.
Restoring the working 3-implementation approach.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Some microformat parsers have trouble detecting u-photo when the img is
inside an anchor tag or gets transformed by image processing. Added a
hidden <data class="u-photo"> element at the h-card root that parsers
reliably detect. Removed redundant u-photo class from visible img tags.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- h-card.njk is now the single source of truth
- sidebar.njk includes h-card with variant='full'
- blog-sidebar.njk includes h-card with variant='compact'
- Removed duplicate h-card code from both sidebars