Commit Graph

10 Commits

Author SHA1 Message Date
Ricardo
42a5c67896 feat: add Markdown for Agents — serve clean Markdown to AI agents
Generate index.md alongside index.html for /articles/ at build time.
Agents can access clean Markdown via .md URL extension or Accept:
text/markdown content negotiation. Includes configurable content-signal
policy (ai-train, search, ai-input) and a master on/off toggle via
MARKDOWN_AGENTS_ENABLED env var.
2026-02-24 20:24:06 +01:00
Ricardo
910889cde8 fix: remove trailing slash from site.url to prevent double-slash URLs
site.url had a trailing slash (added for Mastodon rel=me verification),
which caused double slashes in all URL constructions like
{{ site.url }}/auth → https://rmendes.net//auth

This broke IndieAuth login — indielogin.com read the authorization_endpoint
link tag with //auth and redirected users there, which 404'd in nginx.

Split into site.url (no slash, for URL construction) and site.me /
site.author.url (with slash, for Mastodon rel=me strict matching).

Also fixed twitter:image meta tags to use smart slash logic matching
the og:image pattern (check if path starts with / before prepending one).
2026-02-24 16:18:52 +01:00
Ricardo
f5f77cb4a3 fix: normalize site URL with trailing slash for Mastodon rel=me verification
Mastodon's VerifyLinkService uses strict string comparison against
account.url (which includes trailing slash from the AP actor's url
field). The h-card self-link used SITE_URL without trailing slash,
causing the comparison to fail silently.
2026-02-24 13:56:29 +01:00
Ricardo
90ff9068a1 feat: use AP handle as primary fediverse identity
Rename getMastodonHandle() to getFediverseCreator() and prefer the
site's own ActivityPub handle (ACTIVITYPUB_HANDLE) over the external
Mastodon account for the fediverse:creator meta tag. The Mastodon
account is a syndication target, not the canonical identity.
2026-02-24 12:08:02 +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
rmdes
afc394525b feat: add textcasting support, feed attachments, and protocol badges
- Add _textcasting extension to JSON feed with support/monetization config
- Add feedAttachments filter for photo/audio/video media in feed items
- Add content_text and date_modified fields to feed items
- Add protocol badges (ATmosphere, Fediverse, Web) on reply posts
- Add support configuration via environment variables in site data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:42:59 +01:00
Ricardo
bf4fb8041f fix: restore h-card social links and improve microformat reliability
- Add social links nav with rel="me" to sidebar h-card (was only in
  standalone h-card.njk component, never included by sidebar)
- Add hidden <data class="u-photo"> for reliable microformat parsing
  (some parsers struggle with img nested inside links)
- Fix social links fallback in site.js: auto-generate from feed config
  (GITHUB_USERNAME, BLUESKY_HANDLE, etc.) when SITE_SOCIAL is not set
- Add hidden email/org data elements to blog-sidebar compact h-card

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 23:34: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
b3c30e3029 feat: add proper rel=me atproto for Bluesky and fediverse:creator meta tag
- 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
2026-01-29 22:42:49 +01:00
Ricardo
2b225197b4 Initial commit: Indiekit Eleventy theme 2026-01-24 12:13:34 +01:00