Commit Graph

13 Commits

Author SHA1 Message Date
Ricardo
155816a0bc feat: replace all primary (blue) with contextual colors across entire theme
Eliminate monotonous blue by replacing ~290 primary- references in 60 files
with semantically appropriate colors:

- accent (teal): links, CTAs, buttons, tabs, focus rings, spinners
- purple: Funkwhale/music, photos, Mastodon/fediverse
- surface (neutral): GitHub, dates/metadata, info boxes
- amber: bookmarks, blogroll categories
- red: likes
- green: reposts
- sky: replies
- orange: RSS/feeds, podcasts
- #0085ff: Bluesky brand
- #a730b8: Mastodon brand

Also updates prose link colors in tailwind.config.js, pagefind UI
primary color to teal, and client-side JS color references.

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-04 12:50:19 +01:00
Ricardo
703cfbc438 feat: shared social icon macro with 33 brand icons
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).
2026-02-25 09:59:36 +01:00
Ricardo
b317148cd1 feat: prefer identity data over env vars in hero and h-card
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.
2026-02-25 08:55:16 +01:00
Ricardo
c70b51b499 feat: add ActivityPub actor rel="me" link for Mastodon verification
Add ACTIVITYPUB_HANDLE env var support to site.js social links.
Add activitypub globe icon to h-card sidebar widget.
2026-02-22 12:14:06 +01:00
Ricardo
e2cf730b4e fix: add safe filter to prevent entity escaping 2026-02-06 10:05:40 +01:00
Ricardo
2c50f4265e fix: don't obfuscate email in href/value attributes
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>
2026-02-06 09:40:56 +01:00
Ricardo
b448aaa0e0 feat: add email obfuscation to protect from spam bots
- 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>
2026-02-06 09:21:09 +01:00
Ricardo
f37cd3b913 refactor: use h-card.njk component in sidebar, update homepage intro
- 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>
2026-02-06 08:34:49 +01:00
Ricardo
15891a0ad2 Revert "refactor: single h-card component with variant support"
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>
2026-01-30 23:06:23 +01:00
Ricardo
70c66220b8 fix: use hidden data element for reliable u-photo microformat parsing
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>
2026-01-30 17:26:11 +01:00
Ricardo
d6640d515d refactor: single h-card component with variant support
- 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
2026-01-30 16:51:29 +01:00
Ricardo
e993353db8 feat: enhance h-card with full microformat properties
Added support for:
- u-photo (visible)
- p-note (bio)
- u-email
- p-locality, p-region, p-country-name (structured address)
- p-org (organization)
- p-pronoun
- p-category (skills/interests)
- u-key (PGP key URL)

All configurable via environment variables.
2026-01-30 13:40:28 +01:00
Ricardo
2b225197b4 Initial commit: Indiekit Eleventy theme 2026-01-24 12:13:34 +01:00