| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
html.theme-light .prose-invert a sets color: var(--accent) via a direct
selector outside any layer — not-prose cannot block it. Adds matching
specificity rule targeting .cta-block a inside prose/prose-invert to
restore var(--on-accent) text color in light mode.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Tailwind prose's `a` rule was overriding btn-primary color in light mode.
not-prose excludes the CTA wrapper from prose link styles.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Adds --on-accent semantic CSS variable (#f0f0f0 dark / #f0f4f8 light),
both passing WCAG AA against --accent in their respective modes.
Updates .btn-primary to use var(--on-accent) instead of hardcoded
#ffffff. Adds .cta-block override to win specificity over the base
a { color: var(--accent) } rule. Centers content inside .cta-block.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Replaces the minimal inline download button with a visually distinctive
CTA card. New `use` parameter drives icon and download attribute
("download", "site", "repo", "mail"). Optional `caption` param adds
description text above the button. Button uses .btn.btn-primary for
consistent styling. CSS adds .cta-block / .cta-block__caption with
accent border, glow, and light mode overrides per THEMING-STANDARD.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- Single shortcode with type param, CSS-only variants
- Left border + fading bottom border (::after gradient)
- Colors mapped to existing theme tokens (--accent, --accent2, --type-link, --type-life)
- --callout-danger: #ef4444 hardcoded exception (approved)
- role=alert for danger, role=note for all others (WCAG AA)
- aria-hidden on Feather icons, title overridable via param
- EN/IT i18n keys
Also fixes html.theme-light CSS vars to match THEMING-STANDARD.md:
- --bg, --bg2, --surface, --border, --text, --text-dim, --muted
- --accent (#7c3aed), --accent2 (#008f5a)
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
Top nav variant (above title) had a border-t that divided nothing.
Move border-t/pt-6 from CSS class into template, applied only on
bottom variant. Rebuild CSS.
|
|
Remove publication date, lastmod, reading time, and type badge from
article header. Header now shows title + type-colored accent lines only.
Move publication and lastmod dates to sidebar stats widget, between author
and word count. Reading time and type badge already in sidebar — no
duplication needed. Removes orphaned bottom border and padding from header
outer div.
|
|
header pattern
|
|
|
|
and hugo.Data
- Replace .Site.Languages with site.Languages in hamburger-menu.html and header.html
- Replace .Site.Data with hugo.Data in repository/single.html and footer.html
- Add acronym shortcode for semantic HTML abbr tags with title attributes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Replace top: -40px positioning with transform: translateY(-100%) for more robust hiding. The link now:
- Stays hidden by default (translateY(-100%) moves it above viewport)
- Smoothly slides in when focused (on keyboard navigation)
- Uses fixed positioning for reliability
This is a more modern and accessible approach that ensures the skip link is invisible until needed.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Hide progress-bar from:
- Homepage (.IsHome)
- Taxonomy/term pages (.Kind == "term" or "taxonomy")
- Section/list pages (.Kind == "section")
Show progress-bar only on:
- Single articles
- Single pages
This removes visual clutter from list pages while keeping the reading progress indicator for long-form content.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
The matrix canvas was duplicated - one in baseof.html (body level) and one we added to hero.html. This caused conflicts and visibility issues.
Changes:
- Remove canvas from baseof.html entirely - it should only be in the hero section
- Keep canvas in hero.html with data-mode="hero"
- Simplify matrix-rain.js to handle data-mode attribute and use offsetWidth/offsetHeight with fallbacks
- Update hero.css with proper absolute positioning (inset: 0)
Now there's only one canvas element positioned absolutely within the hero section, avoiding conflicts and ensuring proper rendering.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Simplified and aligned the matrix rain implementation to match mockup-a.html exactly:
- Use width: 100%; height: 100% in CSS instead of inset/display properties for more reliable sizing
- Simplify canvas init() to use offsetWidth/offsetHeight directly without fallbacks
- Use getThemeColors() helper function for consistent color management
- Simplify tick() to only use the two colors (bright green head at 4%, purple trail)
- Remove unused data-mode attribute logic
- Streamline event listeners to match mockup structure
This matches the proven working implementation from the mockup.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
- Add z-index: 1 to matrix canvas to ensure it renders above the dot grid background but below content
- Add display: block to ensure canvas renders properly
- Fix canvas sizing logic to use getBoundingClientRect() as primary method for hero mode, with fallbacks to offsetWidth/height and viewport dimensions
- This ensures the canvas gets proper dimensions even if offset measurements are unavailable during initialization
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
The matrix-rain.js script was looking for #matrix-canvas but the element was not being rendered in the hero template, causing the matrix rain animation to be invisible. Added the canvas element with data-mode="hero" attribute for proper sizing relative to the hero container.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
article grid
Restructure hero layout with centered .hero-container (max-width 1080px),
update hero text (prompt "welcome to", button "About Me" → /is/), add
terminal widget title bar and staggered fade-in animation, replace scroll
indicator with animated line.
Add section header (eyebrow + title) above articles, new vertical .article-card
grid layout with solid type badges (sharp corners, sharp badges), implement
scroll reveal stagger (90ms per sibling). Update terminal color palette to
use proper CSS variables. Remove ambient glow from hero.
Changes follow THEMING-STANDARD: semantic color variables, mobile-first
responsive design, prefers-reduced-motion support, WCAG AA accessibility.
- hero.html: new .hero-container wrapper, typed terminal content, scroll line
- hero.css: restructure layout, add color classes, stagger animation, scroll pulse
- home.html: add section header, .articles-grid, pass context="home" flag
- post-card.html: context-conditional rendering (homepage vertical vs. other horizontal)
- card.css: new .article-card, .articles-grid, .article-* styles
- main.css: add section utilities, .reveal/.revealed base states
- variables.css: add --terminal-prompt, --terminal-text, --terminal-accent
- scroll-reveal.js: add 90ms per-item stagger with cleanup
- 404.css: remove hardcoded terminal color fallbacks
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Transform all production-ready mockup files into a fully functional Hugo theme
with all design patterns, components, and interactivity. Implements the complete
plan: token alignment, global shell, homepage, articles section, single article
views, photo gallery, static pages, and 404 page.
Changes:
- Phase 0: Token alignment (--color-* → --type-*, add spacing/z-index/timing scales)
- Phase 1a: Global shell (baseof.html, hamburger menu, theme toggle, matrix rain)
- Phase 1b: Homepage (hero layout, glitch/typing/scroll-reveal effects)
- Phase 1c: Articles section (timeline layout, filter system, featured cards)
- Phase 1d: Single article (meta bar, share sidebar, footer nav, progress bar)
- Phase 1e: Photo gallery (lightbox, grid layout, shortcode updates)
- Phase 1f: Static pages (about/contact page layout)
- Phase 1g: 404 page (standalone HTML, quote randomization, recent articles)
New files:
- 6 CSS components: hamburger, article-hero, share-sidebar, timeline, lightbox, 404
- 8 JS modules: hamburger, glitch, typing, scroll-reveal, share-sidebar, lightbox, 404, photo-utils
- 6 template partials: article-single, featured-card, photo-article, share-sidebar, static-page, timeline-item
- 1 layout: 404.html (standalone)
Updated:
- All CSS variables with comprehensive token system
- All JS modules integrated into main.js
- All shortcodes (gallery, gal-img) for lightbox compatibility
- All layout files (baseof, home, section, page) with new dispatching logic
Verified: Hugo build succeeds with 21 pages, no errors.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Exclude from version control:
- Hugo build artifacts (public/, resources/, .hugo_build.lock)
- HANDOFF.md (internal documentation)
- IDE and OS files (.vscode, .idea, .DS_Store, etc.)
- Dependencies (node_modules, package-lock.json, yarn.lock)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Updated both home.html and section.html to:
1. Check for 'excerpt' field in front matter first
2. If excerpt exists, use it
3. If not, generate from content: get first paragraph, convert to plain text, truncate to 150 characters
This prevents full article content from showing in feeds while respecting custom excerpts when provided.
Applies to both homepage feed and articles section list view.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Increased opacity from 0.25→0.4 (dark) and 0.35→0.5 (light) to make the matrix rain effect more visible on the hero section.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|