Commit Graph

527 Commits

Author SHA1 Message Date
Ricardo
2f442862af fix(css): fix 10 design system violations in component classes
- .widget-title: font-bold -> font-semibold
- .repo-card: add shadow-sm
- .fab-menu-item: rounded-xl -> rounded-lg, shadow-md -> shadow-sm
- .p-category: hover border surface -> accent
- .widget: remove mb-4 (conflicts with space-y containers)
- Remove duplicate focus-visible system (outline vs ring)
- Remove duplicate time monospace rule
- .post-type-dropdown: prefers-color-scheme -> .dark class
- .save-later-btn/.share-post-btn: add dark mode variants

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-07 15:58:38 +01:00
Ricardo
c71a7f38a8 fix: prevent FOUC for images and SVG icons on first paint
Add critical CSS rules to constrain images (max-width:100%) and inline
SVGs (default 1.25rem) before Tailwind loads. Add width/height HTML
attributes to avatar images in hero sections and h-card sidebar widget.

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-07 15:46:43 +01:00
Ricardo
2077b8d866 fix: audit /podroll/ page for design system compliance
- Replace broken SVG icon (mixed checkmark + radio paths) with proper
  microphone icon matching the empty state icon
- Add font-mono to date elements: last synced span, episode <time>
- Add font-mono to stat numbers: podcast count (header + sidebar)
- Add shadow-sm to episode article cards (card depth pattern)
- Add focus:ring-2 to all buttons: refresh, try again, load more
- Focus rings use domain color (orange-500) consistently

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-06 19:53:12 +01:00
Ricardo
12710820f9 fix: audit /news/ page for design system compliance
- Add font-mono text-sm to all <time> elements (4 dates across 3 views)
- Add font-mono to stat numbers (feeds count, items count, pagination)
- Add shadow-sm to list view and expanded view article cards
- Add border + shadow-sm to stats bar (card depth pattern)
- Add focus:outline-none focus:ring-2 focus:ring-accent-500 to all buttons
  (view mode toggles, pagination prev/next, refresh)
- Fix card view hover to use domain color (accent-400) instead of surface-400
- Fix pagination bug: loadPage() now passes feedId when filter is active,
  preventing feed filter from resetting on page change

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-06 19:41:32 +01:00
Ricardo
ee7fa5de7f fix: hide month labels and improve dark mode contrast in AI post-graph
Widget: add noLabels to prevent month abbreviations from squishing
together in the narrow sidebar. Both widget and section: use lighter
boxColorDark (#44403c / surface-700) so empty grid cells are visible
against the surface-800 sidebar/section backgrounds in dark mode.

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-06 15:45:43 +01:00
Ricardo
dc8762b427 fix: register ai-usage widget in sidebar.njk and add zap icon
The ai-usage widget was empty on blog listing pages (/notes/, /photos/)
because sidebar.njk (the third sidebar dispatcher) was missing the
widget registration. Also adds the "zap" lightning bolt icon to icon.njk
which was referenced but never defined.

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-06 15:07:15 +01:00
Ricardo
53c570a176 fix: audit fixes for /slashes/ — font-mono dates, depth, h-entry, section borders
1. Add font-mono to <time> elements (design system typography rule)
2. Add shadow-sm to inspiration box and empty-state box (depth rule)
3. Add h-entry + p-name/u-url microformats to all cards (RSS-ready)
4. Add border-l-4 visual differentiation: amber for Pages, emerald
   for Activity Feeds, surface for Site Pages

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-06 14:41:39 +01:00
svemagie
6bb3c5a6d6 some fiddeling later 2026-03-06 14:37:53 +01:00
Ricardo
80c4b55faa fix: correct starred repos URL to /github/starred/
Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-06 14:21:10 +01:00
Ricardo
596334ab38 feat: redesign navigation - curated header, updated footer, comprehensive /slashes/
Replace the 22-item "/" dropdown with a curated "Pages" dropdown (Blogroll,
Podroll, News, All Pages). Add /now to header nav. Move CV and Digest to
footer only. Add auth-gated Dashboard to footer Navigate column. Remove
Interactions from footer Content column.

Refactor /slashes/ into a comprehensive site map with three sections: Pages
(dynamic CMS pages), Activity Feeds (plugin pages), and Site Pages (theme
.njk pages like /graph, /changelog, /featured, /starred, etc.).

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-06 14:05:22 +01:00
Ricardo
81ea22ac34 feat: add AI usage homepage section with stats and contribution graph
Full-width section for homepage builder showing 4-column stats grid,
level breakdown pills, AI-involved post-graph, and link to /ai/ page.

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-06 12:35:40 +01:00
Ricardo
d1a8ee7ec2 feat: add AI usage sidebar widget for homepage and blog sidebars
Compact widget showing AI transparency stats (total, AI-involved,
human-only, ratio), level breakdown pills, and a 1-year post-graph
highlighting AI-involved posts. Links to /ai/ for full report.

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-06 12:28:49 +01:00
svemagie
30a0cfaf75 Trigger deploy 2026-03-06 11:22:33 +01:00
svemagie
994f49f202 Update deploy.yml to create and deploy .env file with IndieKit password 2026-03-06 11:13:30 +01:00
svemagie
cf6ef494b0 small fixes 2026-03-06 11:08:00 +01:00
svemagie
9b4c6dba40 fix: add build:css step and env vars to workflow 2026-03-06 10:52:06 +01:00
Ricardo
8baec25b2c feat: blog filter nav, interactions pagination, note unfurl, pagefind improvements
- Replace broken client-side type filter on /blog/ with navigation
  pill links to dedicated collection pages (with post counts)
- Replace Load More with proper prev/next/page-number pagination
  on Interactions inbound tab (20 per page, filter resets page)
- Add auto-unfurl transform for standalone external links in notes
- Exclude Digest and Categories pages from Pagefind search index
- Add Pagefind search filters for post type, year, and category
- Add Pagefind filter metadata to page.njk layout

Confab-Link: http://localhost:8080/sessions/956f4251-b4a9-4bc9-b214-53402ad1fe63
2026-03-06 10:45:55 +01:00
Ricardo
e7aaf73fba feat: consistent AP logo, Mastodon syndication detection
- Replace network-diagram SVG with official ActivityPub logo in post footer
- Replace person-plus SVG with AP logo in fediverse follow widget
- Replace Mastodon icon with AP logo in share widget, use #a730b8 purple
- AP icon brand color: #f1027e → #a730b8 in social-icon macro
- Detect Mastodon syndication URLs (/@username pattern) for proper logo pill

Confab-Link: http://localhost:8080/sessions/c5b1471e-b046-44d9-b94f-ab5e68fae7cc
2026-03-06 10:42:39 +01:00
svemagie
6e2c493184 remove old src content 2026-03-06 10:41:58 +01:00
svemagie
57bdcdbf8c init 2026-03-06 10:40:06 +01:00
svemagie
4ab45338ca Merge remote-tracking branch 'theme/main' 2026-03-06 10:38:50 +01:00
svemagie
896c2ea638 npm install 2026-03-06 10:33:18 +01:00
Ricardo
b5d0b684d9 feat: add link to /ai/ page in AI usage disclosure
The "Learn more about AI usage on this site" link appears when
the AI usage label is clicked/tapped on posts, providing context
about the site's AI transparency policy.

Confab-Link: http://localhost:8080/sessions/956f4251-b4a9-4bc9-b214-53402ad1fe63
2026-03-06 09:23:38 +01:00
svemagie
da59713ffa debug deploy 2026-03-06 08:21:42 +01:00
svemagie
af8b768935 Add smiley face to README 2026-03-05 23:59:17 +01:00
svemagie
cefb0b7f1c Update README title to include a smiley face 2026-03-05 23:45:27 +01:00
svemagie
f46107b53a test 2026-03-05 23:43:25 +01:00
svemagie
cc803f0793 port 2026-03-05 23:32:44 +01:00
svemagie
8450c61e0e npm install 2026-03-05 23:21:44 +01:00
svemagie
5e9eb12322 deploy 2026-03-05 23:19:06 +01:00
svemagie
710a6432fb init 2026-03-05 23:09:39 +01:00
svemagie
115883264d gitignore 2026-03-05 21:54:39 +00:00
svemagie
e48ebeaa28 Initial commit 2026-03-05 22:50:17 +01:00
Ricardo
b9a42b3a73 feat: configurable post-graph section and dedicated /graph page
- Add posting-activity.njk section template with configurable years/limit
- Register posting-activity in homepage-section.njk dispatcher
- Move hardcoded post-graph into Tier 2 block (homepage builder controls its own)
- Add "View full history" link to /graph/ on both Tier 2 and section template
- Create /graph/ page showing all years with no limit

Confab-Link: http://localhost:8080/sessions/edb1b7b0-da66-4486-bd9c-d1cfa7553b88
2026-03-05 15:42:00 +01:00
Ricardo
d8e982e3c3 feat: always show AI Usage disclosure on posts
Default aiTextLevel to "0" (None) when absent from frontmatter,
so every post shows the collapsed AI disclosure line.

Confab-Link: http://localhost:8080/sessions/648a550c-4f65-46be-b9a9-6b7e0fd90751
2026-03-05 15:21:57 +01:00
Ricardo
9d2786c308 fix: move AI Usage below reply-context on interaction posts
The AI disclosure was appearing between the (often empty) e-content
and the unfurl card, breaking the visual flow on likes/replies/reposts.
Now renders after the reply-context card.

Confab-Link: http://localhost:8080/sessions/648a550c-4f65-46be-b9a9-6b7e0fd90751
2026-03-05 15:12:57 +01:00
Ricardo
87f5b7fd2d fix: move post-graph outside tier conditional so it shows on all homepage layouts
Confab-Link: http://localhost:8080/sessions/956f4251-b4a9-4bc9-b214-53402ad1fe63
2026-03-05 14:25:36 +01:00
Ricardo
14dcfba50a feat: fix sparkline calculation, redesign with domain colors, add post-graph
- Fix sparkline downward trend by extrapolating partial current month
- Redesign sparkline SVG with gradient fill and responsive sizing
- Apply domain-specific colors (amber/rose/emerald/purple) via currentColor
- Add eleventy-plugin-post-graph for GitHub-style contribution grids
- Homepage: posting activity graph in Tier 2 default layout
- AI page (/ai/): stats dashboard + AI-involved posts graph injected via layout
- New filters: aiPosts (filter by AI level), aiStats (total/count/percentage)

Confab-Link: http://localhost:8080/sessions/956f4251-b4a9-4bc9-b214-53402ad1fe63
2026-03-05 14:21:27 +01:00
Ricardo
91c0816303 feat: convert #hashtags in post content to category links
Adds a markdown-it inline rule that transforms #tag text into
links to /categories/tag/ on-site. Syndication targets (Bluesky,
Mastodon, Bridgy) continue to receive raw #tag text, which their
native facet/hashtag detection handles automatically.

Edge cases handled: headings, hex colors, URL fragments, code
blocks, pure numbers are all excluded from conversion.

Confab-Link: http://localhost:8080/sessions/0ec83454-d346-4329-8aaf-6b12139bf596
2026-03-05 13:46:40 +01:00
Ricardo
0c6229088c feat: rework single post view for better content hierarchy
- Add post-type header (Reply/Like/Repost/Bookmark/Note) for titleless posts
- Add left accent border to user content on interaction posts
- Collapse AI Usage box into a compact <details> summary line
- Collapse comments section when empty, auto-open when comments exist
- Collapse webmention send form behind <details> toggle

Confab-Link: http://localhost:8080/sessions/648a550c-4f65-46be-b9a9-6b7e0fd90751
2026-03-05 13:22:32 +01:00
Ricardo
be90da09e4 feat: style CV education section with colored borders and accordion
Apply the same visual pattern used in projects/skills/interests:
- Colored left borders cycling through 8-color palette
- 2-column responsive grid layout
- Alpine.js collapsible descriptions (accordion)
- Hover states on clickable rows
- Dates shown in summary row (desktop) and detail panel (mobile)

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-05 10:15:39 +01:00
Ricardo
47439e71c5 feat: add brand colors to social icons in hero sections
Replace monochrome (black/amber) social icons with official brand
colors for each service. Add socialIconColorClass macro that maps
icon names to Tailwind color classes with dark mode variants.

Changes:
- social-icon.njk: add brand color macro for 30+ icon types
- social-icon.njk: replace ActivityPub icon with official W3C logo
- hero.njk: apply brand colors to icons, neutral text for labels
- cv-builder.njk: same brand color treatment as hero section

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-05 08:50:28 +01:00
Ricardo
1348cbdf2e fix: reduce amber saturation in Featured section dark mode
Article title links now have explicit text color instead of inheriting
the global amber link color. Default article left-border changed from
amber to neutral surface tone. Card hover border toned down to neutral.
Interaction types (likes, bookmarks, reposts, replies, photos) keep
their semantic colors unchanged.

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-05 08:01:19 +01:00
Ricardo
9b50893782 feat: redesign post navigation with image-first approach
OG images are now the primary navigation element — large, prominent,
and clickable. Directional labels overlay the image. Falls back to
text title + date when no OG image exists. Inspired by zachleat.com.

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-04 22:25:57 +01:00
Ricardo
132e8b566c feat: add /featured/ collection page and "View all" link
- New featured.njk page with pagination, type-aware rendering
- "View all N featured posts" link appears when count exceeds maxItems

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-04 22:12:02 +01:00
Ricardo
59fe05ae47 fix: use pinned property for featuredPosts collection
Renamed from "featured" to "pinned" to avoid conflict with the
"featured" hero image property in MF2/Micropub. Handles both boolean
and string "true" values from YAML frontmatter.

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-04 19:49:01 +01:00
Ricardo
8cd3c86bfa feat: add featured posts section for homepage builder
Add `featuredPosts` collection filtering posts with `featured: true`
frontmatter. New `featured-posts` section template with type-aware
rendering (articles, notes, photos, bookmarks, etc.) and star icon
header. Registered in homepage-section.njk dispatcher.

To feature a post, add `featured: true` to its frontmatter. Then add
a `{ "type": "featured-posts" }` section to the homepage config.

Confab-Link: http://localhost:8080/sessions/bd3f7012-c703-47e9-bfe2-2ad04ce1842d
2026-03-04 19:26:18 +01:00
Ricardo
c077237f1d fix: replace sidebar PagefindUI with redirect search form
PagefindUI in the ~300px sidebar caused 218+ results to expand inline,
pushing content down with poor readability. Replace with a simple GET
form that redirects to /search/?q=query in all four sidebars.

Confab-Link: http://localhost:8080/sessions/4d40ef89-a713-48c1-b4ed-0ffafca25677
2026-03-04 19:12:07 +01:00
Ricardo
8136640619 feat: add AI disclosure aside to page layout
Pages (slash pages like /about, /now, /ai) were missing the AI usage
disclosure that already displays on posts. Adds the same aside block
to page.njk so AI metadata renders consistently across all content types.

Confab-Link: http://localhost:8080/sessions/3bf0740c-86e8-4ed6-b7ce-f83d8462c682
2026-03-04 17:40:29 +01:00
Ricardo
b811b43bc2 feat: syndication webhook on incremental builds
Add an eleventy.after hook that triggers syndication immediately after
incremental rebuilds, cutting latency from ~2 min (poller) to ~5 sec.
Uses built-in crypto for HS256 JWT — no new dependencies.

Confab-Link: http://localhost:8080/sessions/d116ad5b-ef8a-424e-9ebe-76c06bef1df6
2026-03-04 17:33:18 +01:00