summaryrefslogtreecommitdiffstats
path: root/themes/danix-xyz-hacker/layouts/partials
AgeCommit message (Collapse)AuthorFilesLines
2026-04-18style: redesign social share widget with terminal-native aestheticDanilo M.1-24/+24
Replace generic card + h3 + round buttons with a minimal separator line, mono comment label, and square btn-share buttons that match the site's hacker identity. Icons scaled to 22px inside 50x50px touch targets. Hover/focus states use the site's accent glow pattern.
2026-04-18style: resize social share icons to 50px and tighten grid gapDanilo M.1-12/+12
2026-04-17feat: add social sharing widget to sidebar (articles and pages)Danilo M.1-0/+3
2026-04-17feat: add social-share partial with 9 targets and two layout modesDanilo M.1-0/+123
2026-04-17fix: show Related Articles widget only on articles, not pagesDanilo M.1-2/+2
Add type check: widget now only renders when .Type == 'articles' Pages in the 'is' section won't show the related widget. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17feat: implement Related Articles sidebar widgetDanilo M.1-7/+28
Replaces stub implementation with full related content functionality: - Uses Hugo's .Site.RegularPages.Related API for smart tagging - Caps at 5 related articles to keep sidebar compact - Shows 2-line compact card per entry (title + date, excerpt snippet) - Left border colored by article type (var(--type-<type>)) - Includes empty state message when no related articles found - Multilingual support via existing i18n keys - Theme-aware styling via CSS custom properties The widget shows: - Line 1: Title (linked) + · Jan 2006 date inline - Line 2: First ~10 words of excerpt, small font, muted Previously was a stub with empty placeholder comment. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17feat: verify semantic HTML - replace div with button in toast-closeDanilo M.1-1/+1
Replace div element with actual button element for toast notification close control. Adds type='button' and aria-label for accessibility. Maintains all Alpine.js functionality via @click handler. WCAG 2.1 AA compliance: 1.3.1 Info and Relationships
2026-04-17feat: ensure all form inputs have associated labels (for/id attributes)Danilo M.1-10/+10
- Added id to checkbox: agree-terms - Added id/for to checkboxes: interest-tech, interest-design - Added id/for to radio buttons: preference-option-a, preference-option-b - All 13 form inputs now have matching label associations - Improves WCAG 2.1 AA compliance (3.3.2 Labels or Instructions)
2026-04-17feat: ensure i18n-based aria-labels on all icon-only buttonsDanilo M.1-3/+3
Standardize aria-labels across form-components, hamburger-menu, and header partials to use i18n keys for multilingual support. Modal close buttons now consistently use the 'closeMenu' i18n key across all three modals, matching the accessibility pattern used for menu and theme toggle buttons. - form-components.html: Update modal close buttons (alert, confirm, content) - hamburger-menu.html: Already has aria-label with i18n - header.html: Theme toggle and hamburger menu already have aria-labels Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17feat: enhance modal focus trap with JavaScript and ARIA attributesDanilo M.1-12/+12
Implements focus trap function that cycles Tab/Shift+Tab within modal boundaries, adds ARIA attributes (role, aria-modal, aria-labelledby) for accessibility compliance, and integrates focus initialization on modal display. - Focus trap prevents tab escape from modal dialog - ARIA attributes: role=dialog, aria-modal=true, aria-labelledby linking title - Backdrop marked aria-hidden=true to exclude from accessibility tree - Close buttons have aria-label for screen readers - Focus initialization calls createFocusTrap on modal show Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16feat: add form component templates, i18n strings, and Alpine.js utilitiesDanilo M.2-0/+232
2026-04-16fix: header sticky positioning regressionDanilo M.1-1/+1
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>
2026-04-16fix: logo link now respects current languageDanilo M.1-1/+5
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>
2026-04-16feat: make breadcrumb navigation multilingual with proper linksDanilo M.1-2/+9
- Added language-aware breadcrumb links (IT uses /it/ subdir, EN uses root) - Added 'home' translation key to both i18n files - Breadcrumb now displays translated labels and correct URLs for each language Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16fix: add x-cloak to prevent menu flash on page loadDanilo M.1-0/+1
- Add [x-cloak] { display: none } CSS rule - Add x-cloak attribute to menu overlay div - This hides the menu until Alpine.js initializes - Prevents the menu from appearing briefly on page refresh/load - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16fix: prevent menu flicker when navigating to new pageDanilo M.1-12/+5
- Add beforeunload event listener to close menu before page navigation - This prevents the menu from briefly appearing on the new page - Menu state is explicitly set to false before unload - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16fix: rewrite hamburger menu using Alpine.js event dispatcherDanilo M.2-83/+25
- 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>
2026-04-16fix: hamburger menu click handler and horizontal scroll issuesDanilo M.1-14/+34
- Improve hamburger menu JS with better error handling and console warnings - Add preventDefault() to button click handlers for reliability - Handle document ready state check (in case script runs before DOMContentLoaded) - Add overflow-x-hidden to html and body to prevent horizontal scrolling on mobile - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16feat: refactor homepage buttons to use btn component classesDanilo M.1-4/+1
- Update index.html to use .btn .btn-primary .btn-lg and .btn .btn-outline .btn-lg - Update CLAUDE.md documentation - Update settings.local.json with additional permissions Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16fix: simplify breadcrumb component (WIP - rendering issue to investigate)Danilo M.1-16/+3
2026-04-16feat: add breadcrumb navigation componentDanilo M.1-0/+20
- Create breadcrumb.html partial with Home > Articles > Title structure - Support both English and Italian language versions - Add breadcrumb and breadcrumb-separator CSS classes - Integrate breadcrumb into article detail pages - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16feat: add header nav and hamburger menu styling with JS handlersDanilo M.1-3/+64
- Add header, nav-link, header-actions component CSS - Add menu-overlay and menu-nav component CSS - Update hamburger-menu.html with vanilla JS handlers: - openMenu/closeMenu functions - ESC key support - Click outside to close (backdrop click) - Menu link auto-close - Scroll lock when menu open - Replace Alpine @click with id-based event listeners - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16feat: add card component with hover lift and glow effectsDanilo M.1-5/+5
- Add .card base component with border, rounded corners, glow shadow - Add .card:hover state with translateY(-2px) lift and enhanced glow - Add .card-image, .card-body, .card-title, .card-excerpt, .card-footer semantic classes - Refactor article-list-item.html to use card component classes - Rebuild CSS: main.min.css updated Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16fix: restore relative z-20 classes to footer for backdrop-filter to workfeature/footer-frosted-glassDanilo M.1-1/+1
2026-04-16refactor: remove positioning classes from footer for consistency with headerDanilo M.1-1/+1
2026-04-16refactor: use frosted-bar class on footer with stronger blur variantDanilo M.1-1/+1
2026-04-16adjust: reduce footer background opacity to 0.6 for better frosted glass ↵Danilo M.1-1/+1
visibility
2026-04-16fix: add position and z-index to footer for backdrop-filter to workDanilo M.1-1/+1
2026-04-16fix: add backdrop-filter blur to footer via CSS with vendor prefixDanilo M.1-1/+1
2026-04-16fix: use CSS variables in footer inline styles for theme-aware colorsDanilo M.1-1/+1
2026-04-16fix: apply frosted glass styling to footer via inline styles instead of CSS ↵Danilo M.1-1/+1
class
2026-04-16test: set footer background to red to check if inline styles work at allDanilo M.1-1/+1
2026-04-16test: add inline style to footer background for debuggingDanilo M.1-1/+1
2026-04-16test: set footer background to fully opaque (1) to debug stylingDanilo M.1-1/+1
2026-04-16fix: add frosted-bar-strong class to footer for stronger frosting and opacityDanilo M.1-1/+1
2026-04-16refactor: update internal footer divider to match frosted-bar border stylingDanilo M.1-1/+1
2026-04-16refactor: apply frosted-bar component to footerDanilo M.1-1/+1
2026-04-16refactor: apply frosted-bar component to headerDanilo M.1-1/+1
2026-04-16Complete matrix rain background effect implementationDanilo M.1-1/+1
- Add canvas-based matrix rain animation with ASCII + katakana characters - Implement per-column animation with varied drop speeds (2-4 frame throttle) - Theme-aware colors: purple and green accents with live switching - Homepage: 28% opacity (dark) / 35% opacity (light) for prominent hero effect - Inner pages: 13% opacity (dark) / 18% opacity (light) for subtle side gutters - Respect prefers-reduced-motion system setting - Add opaque background to content grids to block rain under text - Add .content-grid class to differentiate single pages from list pages - Add solid background to article list item cards - Update article list item with bg-bg class for readability - Z-index stack: canvas (z-1), content grid (z-9), main content (z-10) Files modified: - matrix-rain.js: new IIFE animation script with MutationObserver for theme switching - baseof.html: add canvas element and script tag with guard - main.css: add canvas positioning, opacity rules, content grid background - _default/single.html: add max-w-7xl and .content-grid class - articles/single.html: add max-w-7xl and .content-grid class - is/list.html: add max-w-7xl and .content-grid class - article-list-item.html: add bg-bg class for solid background Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-15Implement article type colors, reading progress bar, and optimize layoutDanilo M.2-22/+41
- Add colored type pills to article list items (overlay on thumbnails, top-right) - Add type accent corner (L-shaped) to single article headers with colored pill badge in metadata - Implement smooth reading progress bar at viewport top (violet→green gradient) - Progress bar only appears on single pages/articles, not on lists or homepage - Constrain article width to max-w-7xl for comfortable reading with side gutters - Use CSS variables for all colors to support dark/light theme switching - Add reading-progress.js with requestAnimationFrame throttling for performance - Update HANDOFF.md with current progress Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-15Resolve page bundle image paths correctlyDanilo M.1-2/+12
- Use Hugo Resources API to resolve image paths for page bundles - For images in the same directory as index.md, use image = "filename.jpg" - Template automatically resolves to correct permalink (/articles/slug/filename.jpg) - Falls back to literal image path if resource not found (for external URLs) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-15Add thumbnail support to article listingsDanilo M.1-27/+58
- Add 'image' front matter parameter for article thumbnails - Redesign article-list-item.html as semantic article card: - Large thumbnail (aspect-video, object-cover) at top if image is present - Title linked to article page - Publication date and type badge - Excerpt (from .Description or .Summary with plainify) - "Read more" CTA button with arrow icon and hover animation - Increase list container width (max-w-2xl → max-w-3xl) and spacing (space-y-2 → space-y-6) - Thumbnail image has subtle scale-up hover effect - Arrow icon animates on hover - All three clickable elements (.image, title, CTA) link to article Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-15Fix theme toggle icon to always sync with actual page themeDanilo M.1-11/+2
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>
2026-04-15Fix theme toggle icon state sync on page navigationDanilo M.1-2/+9
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>
2026-04-15Fix design system compliance: CSS variables, accessibility, and theme systemDanilo M.6-11/+12
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>
2026-04-15Complete multilingual theme implementation with language-aware menusDanilo M.2-18/+4
- 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>
2026-04-15Fix language switcher to preserve current page pathDanilo M.2-4/+26
- 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>
2026-04-15Add language toggle to desktop headerDanilo M.1-1/+18
- 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>
2026-04-15Remove Alpine.js dependency from menu toggle, use vanilla JavaScriptDanilo M.1-3/+1
- Replace Alpine.js directives (@click, x-ref) with vanilla JS - Update hamburger-menu.html to use id selectors instead of x-ref - Rewrite menu.js to work without Alpine.js - Menu now opens/closes on click with proper event handling - Language toggle now accessible in hamburger menu Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-15Fix Hugo v0.160 compatibility: remove os.Getenv and fix template syntaxDanilo M.1-10/+13
- Remove os.Getenv("THEME") call that violates security policy - Use CSS variables and data attributes for theme-aware badge colors - Update theme-toggle.js to update badge colors on theme switch - Fix .LastMod → .Lastmod (correct API) - Fix template syntax for date comparison in article-header.html Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>