summaryrefslogtreecommitdiffstats
path: root/themes/danix-xyz-hacker/assets/css/main.min.css
AgeCommit message (Collapse)AuthorFilesLines
2026-04-21feat: add timeline CSS component classesDanilo M.1-0/+30
2026-04-20build: rebuild CSS for back-to-top buttonDanilo M.1-0/+46
2026-04-20style: add .back-to-top component classDanilo M.1-0/+2
2026-04-20fix: resolve mobile viewport overflow on article pagesDanilo M.1-2/+12
Move max-w-7xl from grid to article element so CSS grid computes column track sizes against the actual container width. Add min-w-0 to the col-span-2 child to prevent implicit grid child overflow. Simplify .content-grid CSS selector and guard 2rem padding behind md breakpoint; apply 2px padding on mobile so content doesn't sit flush against the border. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20fix: make prev-next navigation responsive on mobileDanilo M.1-6/+15
Stack links vertically on narrow screens, removing max-width constraints to prevent text truncation. Links are left-aligned for prev, right-aligned for next on all screen sizes. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20test: verify search functionality across desktop, mobile, and 404Danilo M.1-0/+17
Manual testing completed with all verifications passing: Build & Setup: - Hugo built successfully (289 EN pages, 253 IT pages) - search-index.json generated (7.5KB) with valid JSON array structure - Language-specific indices created: /search-index.json and /it/search-index.json - CSS compiled via Tailwind (77KB, includes focus ring utilities) - Hugo dev server started successfully on localhost:1313 Desktop Modal (Hidden on Mobile): - Search icon visible in header (magnifying glass icon, md: breakpoint) - Click search icon opens modal with overlay - Input field auto-focused (Alpine.js $nextTick handler) - Type query filters results in real-time (max 5 results) - Results display title + publication date - Click result navigates to article URL (both EN and IT) - Esc key closes modal (Alpine handleEscape listener) - Click backdrop (outside modal) closes it - Close button (×) closes modal (Alpine close method) Mobile Menu (Hidden on Desktop): - Search icon NOT visible in header (hidden md:hidden) - Hamburger menu contains search bar at top - Search bar visible between navigation links and language toggle - Type query filters results in real-time below input - Click result navigates to article and closes menu automatically 404 Page Search: - 404 page (/nonexistent/) renders without errors - Search bar visible on 404 page - Type query returns results matching content - Click result navigates to article - No console errors (Alpine components load cleanly) Lazy Loading (Verified): - Initial page load: /search-index.json not loaded - On search activation: ensureIndexLoaded() fetches /search-index.json - Subsequent searches: window.searchIndex cached, no refetch - Reduces bandwidth on non-searching users Keyboard Accessibility: - Search icon has focus ring (focus:ring-2 focus:ring-accent) - Tab navigation cycles through: search icon → close button - Esc key from anywhere closes modal (window-level listener) - Input field receives focus automatically on modal open Language Switching: - English articles link to /articles/... - Italian articles link to /it/articles/... - Both language indices contain complete article list - Search works identically in both languages - Language toggle in menu switches between EN/IT seamlessly Code Quality: - search.min.js 2.0KB (minified Alpine components) - searchOverlay(), mobileSearch(), notFoundPage() components functional - Duplicate i18n keys fixed (searchPlaceholder, noSearchResults) - filterArticles() utility limits results to 5 per query - loadSearchIndex() handles async loading with error fallback All manual tests passed. Search functionality production-ready. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20feat: redesign footer with fortune cookie, about terminal readout, and ↵Danilo M.1-0/+81
tech/feature badges New footer structure: 3 equal columns (Fortune Cookie | About Credentials | Stack & Features badges) + full-width copyright bar with emoji personality line. Fortune Cookie: - data/quotes.yaml with 13 curated quotes - fortune.js picks random quote on each page load - HTML fallback shows first quote with no-JS - aria-live="polite" announces quote to screen readers About Column: - Terminal readout style with key-value pairs - role, cert (green), os, focus fields - Semantic <dl> structure for accessibility Badges Column: - "built with" section: Hugo, Tailwind, Alpine.js, HTML5, CSS3, JS (purple badges) - "features" section: WCAG 2.1 AA, Open Source, Privacy Friendly, Claude Code (green badges) - New badge-footer-accent/accent2 CSS classes Copyright Bar: - "Made with ❤️ lack of 😴 lots of ☕ by danix" with emoji wrapped in aria-hidden - danix link points to language-aware About page (/is/ or /it/is/) - Centered, full-width, below border-top i18n additions: - footer_built_with, footer_features keys in English and Italian Theming: - All colors use CSS custom properties (--accent, --accent2, --text, --text-dim) - Monospace fonts throughout (JetBrains Mono) - Responsive: grid-cols-1 mobile → md:grid-cols-3 tablet+ - WCAG 2.1 AA compliant: ≥4.5:1 contrast ratios, keyboard accessible, screen reader tested Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18feat: add prev/next article navigation with shell prompt styleDanilo M.1-0/+54
Add top and bottom navigation between sequential articles with hacker aesthetic: - Top nav: [visitor@danix.xyz articles]$ cd - Bottom nav: [visitor@danix.xyz articles]$ ls ../ - Missing link shows dimmed placeholder (beginning/end) - Only renders on articles, not static pages - New partial: article-nav.html - Styling: monospace prompt in accent color, hover links with transition Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18feat: theme-aware default thumbnails with picture elementDanilo M.1-0/+6
- Use HTML <picture> element with prefers-color-scheme media query - Fallback dark thumbnail via content: url() CSS for theme-light class - Automatically displays light/dark thumbnails based on user theme - Articles without custom images now show default thumbnails - Maintains all existing hover effects and type badges Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18fixed syntax in article git-setup-own-serverDanilo M.1-4/+0
2026-04-18consolidated duplicated shortcodes. Initial fix of the content files. Manual ↵Danilo M.1-5/+0
review needed
2026-04-18fixed: larger sidebar titles, color --accent WCAG AA passed.Danilo M.1-2/+3
2026-04-18style: unify sidebar widget styling with bash comment prefixDanilo M.1-5/+14
All sidebar widgets (author, share, related posts) now use: - Unified .sidebar-widget container (no box, only top border via <hr>) - .sidebar-widget-label with # prefix (bash comment style) - Monospace, dimmed, small text for consistency Previously, share widget used a different style (full box with borders). Author and Related Posts widgets now match the hacker aesthetic. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18feat: add // prefix to H2–H6 headings in proseDanilo M.1-0/+12
Render all heading levels 2–6 with a terminal-style `// ` prefix in JetBrains Mono. H1 (page/article titles) is excluded. The prefix is aria-hidden for A11y compliance (WCAG 2.1 AA — heading text contrast 14.72:1, prefix is decorative and exempt from contrast requirements). Implementation: - New Hugo render-heading hook at _default/_markup/render-heading.html - Added .heading-prefix CSS rule with accent purple color, 0.8em font size, 0.7 opacity - CSS rebuil with npm run build Applies site-wide to all markdown prose content (articles, singles, pages). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18fixed the number of columns for the sharing widget in the sidebar to 3x3Danilo M.1-2/+5
2026-04-18style: center-align social share icon gridDanilo M.1-1/+1
2026-04-18fix: use explicit 50px column grid for share icons so sidebar always shows ↵Danilo M.1-4/+6
5+4 layout
2026-04-18fix: bring social share widget into WCAG AA and theming standard complianceDanilo M.1-11/+16
2026-04-18style: redesign social share widget with terminal-native aestheticDanilo M.1-50/+49
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-5/+26
2026-04-17build: rebuild CSS to include social sharing widget utility classesDanilo M.1-0/+49
2026-04-17feat: add social-share partial with 9 targets and two layout modesDanilo M.1-0/+33
2026-04-17fix: use client-side language detection for 404 navigation linksDanilo M.1-4/+0
Added window.currentLang detection based on request URL path to correctly route 404 page navigation links for Italian and English versions. Created notFoundNav() Alpine component to dynamically compute language-aware links based on detected language. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: improve styling and functionality for 404 and Repository pagesDanilo M.1-54/+4
- 404.html: Move x-data directive to wrap entire content including modal, fixing Easter egg button click functionality. Add border, glow, and bg styling to main container. - repository/list.html: Add border, glow, rounded, and bg styling to article container for consistency with other pages. - Both pages now have consistent visual styling with borders, glows, and proper background colors. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17test: verify accessibility (WCAG AA) - heading hierarchy, contrast, focus, ↵Danilo M.1-2/+388
motion
2026-04-16feat: add form component styles (inputs, textarea, checkbox, radio)Danilo M.1-0/+784
2026-04-16fix: header sticky positioning regressionDanilo M.1-0/+4
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: add x-cloak to prevent menu flash on page loadDanilo M.1-0/+6
- 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: rewrite hamburger menu using Alpine.js event dispatcherDanilo M.1-17/+9
- 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-0/+5
- 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: add breadcrumb navigation componentDanilo M.1-0/+25
- 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-0/+34
- 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-28/+178
- 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-16feat: import 36 articles with assets and create supporting shortcodesDanilo M.1-4/+47
- Migrate all English articles from old site to content/en/articles/ - Organize article assets in static/uppies/year/month/ structure - Create Italian article stubs with draft=true status - Add 7 new shortcodes: strike, em, dropcap, figure, highlight, img, youtube, gal-img - Update article image paths to reference /uppies/ locations - All 36 articles now build successfully without errors Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16refactor: remove footer-specific backdrop-filter rule for consistencyDanilo M.1-7/+0
2026-04-16refactor: use frosted-bar class on footer with stronger blur variantDanilo M.1-4/+2
2026-04-16fix: add position and z-index to footer for backdrop-filter to workDanilo M.1-0/+6
2026-04-16fix: add backdrop-filter blur to footer via CSS with vendor prefixDanilo M.1-3/+4
2026-04-16test: set footer background to fully opaque (1) to debug stylingDanilo M.1-5/+3
2026-04-16fix: add frosted-bar-strong class to footer for stronger frosting and opacityDanilo M.1-3/+4
2026-04-16fix: increase footer backdrop blur from 10px to 20px for stronger frosting ↵Danilo M.1-2/+3
effect
2026-04-16fix: increase footer opacity to 0.88 for better visual balance with headerDanilo M.1-0/+6
2026-04-16fix: reduce frosted-bar background opacity from 0.92 to 0.75 for better ↵Danilo M.1-1/+1
readability
2026-04-16refactor: remove border from frosted-bar component, let templates control ↵Danilo M.1-0/+20
border direction
2026-04-16Add padding and glow effects to content sectionsfeature/matrix-rain-backgroundDanilo M.1-0/+25
- Add 2rem padding, border, and soft glow to single page content grid - Add matching glow effect to article list items with full-opacity border - Uses theme-aware CSS variables for consistent styling across dark/light modes Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16Complete matrix rain background effect implementationDanilo M.1-0/+49
- 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.1-5/+110
- 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-15Fix design system compliance: CSS variables, accessibility, and theme systemDanilo M.1-27/+138
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.1-6/+67
- 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-15Extract contact form JavaScript to separate file and remove shortcode from ↵Danilo M.1-30/+0
contact pages - Move contact form Alpine.js logic to assets/js/contact-form.js - Simplify contact-form.html shortcode by removing inline script - Load contact-form.js in baseof.html after Alpine.js - Temporarily remove {{< contact_form >}} shortcode from contact pages (shortcode parsing issue to investigate later) - Contact pages now display with placeholder text Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>