| Age | Commit message (Collapse) | Author | Files | Lines |
|
Changed header from sticky to fixed positioning and added proper margin offset
(mt-20) to main element to prevent content from being covered. The fixed header
now stays at the top during scroll while content renders below it properly.
- Fixed header: changed from sticky to fixed with left-0 right-0 full width
- Main spacing: added mt-20 margin-top with relative z-10 preserved
- Restored z-index layering for content positioning
Also added Week 3 completion documentation and Week 4 planning files:
- WEEK3-COMPLETION.md: Comprehensive audit of Week 3 implementation
- WEEK3-4-TRANSITION.md: Handoff document with git workflow
- WEEK4-PLAN.md: Full technical roadmap for Week 4 forms & interactions
- PROGRESS-STATUS-WEEK4.txt: Updated cumulative progress tracking
- Updated HANDOFF.md with Week 3 summary and Week 4 readiness
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
The header logo link was hardcoded to '/' which always returned to the
English homepage when clicked from Italian pages. Now uses language-aware
routing: IT pages link to /it/, EN pages link to /
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
- Replace vanilla JS click handlers with Alpine.js @toggle-menu event
- Hamburger button dispatches toggle-menu event on click
- Menu overlay listens to toggle-menu and toggles menuOpen state
- Alpine controls visibility via :class bindings (opacity/invisible)
- Alpine controls panel slide via :class bindings (translate-x)
- All menu interactions (close button, links, ESC, backdrop) use Alpine
- Remove complex vanilla JS that wasn't working reliably
- Rebuild CSS: main.min.css updated
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
|
|
Replace Alpine.js conditional rendering with plain JavaScript that:
- Reads the actual theme class from the html element on page load
- Updates icon visibility based on the real DOM state, not internal state
- Handles navigation correctly since it checks the current class every time
This fixes the issue where navigating between pages caused the icon to
become out of sync with the actual theme being displayed.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
The Alpine.js state was reading from localStorage instead of the actual
class on the html element, causing the icon to be out of sync with the
actual theme. Now we initialize the Alpine state by checking the current
html classList, which is set by the page-load script in baseof.html.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
Core CSS improvements:
- Add --surface-rgb, --type-* (tech, life, quote, link, photo) custom properties
- Add --type-* semantic color classes for article badges
- Convert article badges from inline styles to CSS variable system
- Add prefers-color-scheme light fallback for no-JS users
- Add prefers-reduced-motion support to respect user accessibility settings
- Replace *:focus with *:focus-visible (keyboard-only outlines)
- Add clamp() fluid typography for hero-title and section-title
- Refactor container rules to mobile-first with 1060px breakpoint
Theme & Icon fixes:
- Fix theme toggle icon display with Alpine.js (was broken with Tailwind dark: classes)
- Add aria-hidden="true" to icon elements
- Update header with proper ARIA attributes on menu toggle
Accessibility enhancements:
- Add skip-to-main-content link in baseof.html
- Update hamburger menu with aria-expanded, aria-controls, aria-hidden
- Implement focus trap (Tab loops) within mobile menu
- Return focus to trigger button on menu close
- Add menu open/close state management with proper ARIA
Semantic HTML:
- Wrap article pages in <article> element (articles/single.html, _default/single.html)
- Fix quote article to use --type-quote border color instead of generic accent
Image optimization:
- Add loading="lazy" to profile image in index.html
- Add loading="lazy" to featured image in photo.html
Template fixes:
- Remove broken os.Getenv "THEME" runtime check from article-list-item.html
- Replace inline color styles with semantic .type-* classes
- Add 1060px lg: breakpoint to tailwind.config.js
i18n updates:
- Add skipToContent translations (en, it)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
- Refactor hugo.toml to define menus separately for each language using pageRef
- Simplify header and hamburger-menu templates to use Hugo-native language handling
- Update content structure with proper language prefix organization
- Remove JavaScript language-switcher in favor of Hugo's native approach
- Add new layout templates for /is/ section with list view
- Update HANDOFF.md with current implementation status
- Rebuild minified CSS with updated template changes
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
- Update language switcher to translate current page path instead of redirecting to root
- When switching languages, preserve the page you're on (e.g., /articles/ → /it/articles/)
- Works for both desktop header and mobile hamburger menu
- Uses Hugo's string functions to manipulate URL paths
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
- Add language switcher (IT/EN) visible on desktop only
- Language buttons show in header next to theme toggle
- Current language highlighted with accent background
- Mobile still uses hamburger menu for language toggle
- Responsive design: hidden on mobile (md:hidden), visible on desktop
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
|
|