summaryrefslogtreecommitdiffstats
path: root/themes
AgeCommit message (Collapse)AuthorFilesLines
2026-04-20feat: add search index JSON generation templateDanilo M.1-0/+13
Generates /search-index.json at build time containing title, url, date, and summary for all articles. Template uses Hugo's jsonify and plainify filters for safe JSON output. Includes outputFormats configuration in hugo.toml to enable JSON output format. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20refactor: localize footer copyright bar and about section labels/valuesDanilo M.1-11/+11
Add i18n keys for all footer text: - Copyright bar: "Made with X lack of Y lots of Z by" - Screen-reader text: love, sleep, coffee - About section labels: role, cert, os, focus - About section values: Cybersecurity Specialist, Slackware, OS year range, open-source · privacy English and Italian translations provided. All footer text now responds to language selection with no hardcoded strings. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20feat: redesign footer with fortune cookie, about terminal readout, and ↵Danilo M.4-22/+170
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.5-0/+138
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-18refine: use lampD.png only for homepage, default_thumbnail_dark.png for articlesDanilo M.1-2/+4
- Homepage (IsHome): lampD.png - Articles with image: their custom image - Articles without image: default_thumbnail_dark.png Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18chore: use lampD.png as default OG thumbnail instead of ↵Danilo M.1-2/+2
default_thumbnail_dark.png Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18feat: add Open Graph and Twitter Card meta tags for social sharingDanilo M.2-5/+39
Implement comprehensive OG and Twitter Card support: - og:title, og:description, og:image, og:type (website/article) - og:article:published_time and og:article:author for article pages - twitter:card with summary_large_image, twitter:title, twitter:description, twitter:image - Per-page description from excerpt field with fallback to site description - Article-specific tags only rendered for pages with dates - Default dark thumbnail fallback when article has no image - Empty twitterHandle param (optional fill-in for users) Extracted head meta into new partial for maintainability. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18feat: theme-aware default thumbnails with picture elementDanilo M.3-1/+27
- 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-18removed all occurrencies of the highlight shortcode. File removed.Danilo M.1-3/+0
2026-04-18fixed syntax in article git-setup-own-serverDanilo M.1-4/+0
2026-04-18fix: remove whitespace gaps and restore font size in code blocksDanilo M.2-2/+16
- Add not-prose to .code-block-wrapper to opt out of Tailwind Typography styles (table margins were causing the empty line gaps above/below code) - Restore font-size: 0.875em on pre and code since not-prose removed the Typography plugin's size normalization Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18fix: code block copy icon, light theme bg, horizontal scrollDanilo M.3-8/+18
- Use .icon-copy/.icon-check classes on <i> tags so Feather preserves them on generated <svg>; fixes copy button not swapping to checkmark - Add .chroma to light theme background override so #eff1f5 applies correctly - Change .chroma overflow: hidden to overflow-x: auto to restore horizontal scrolling for long code lines Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18refactor: syntax highlighting with Catppuccin Macchiato and copy buttonsDanilo M.4-104/+422
- Add [markup.highlight] config: noClasses=false for CSS class output, lineNos=true with lineNumbersInTable=true for proper line number rendering - Create render-codeblock.html render hook to intercept fenced code blocks and wrap with header bar (language label + copy button) - Replace chroma-custom.css entirely with Catppuccin Macchiato palette (dark theme) + Catppuccin Latte (light theme), with full token color mapping - Create code-copy.js: copy-to-clipboard logic with language pretty-name map (bash→Shell, js→JavaScript, etc.), icon swap (copy→check for 2s), and aria-live region for screen reader announcement (WCAG 4.1.3) - Update baseof.html to load code-copy.js on page kind with Hugo Pipes - WCAG AA compliance: line number contrast fixed to ~3.5:1 (--ctp-overlay0), light theme copy button color to 4.1:1 (#6c6f85), focus outline 6.21:1 (--ctp-lavender), screen reader announcements via aria-live All code blocks now render with: syntax highlighting (noClasses=true fixed), line numbers with proper table layout, language label in header, copy button with feather icons, both dark and light theme support. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18consolidated duplicated shortcodes. Initial fix of the content files. Manual ↵Danilo M.7-72/+49
review needed
2026-04-18fix: enable related articles widget on article pagesDanilo M.1-1/+1
The related widget was not displaying because the condition used .Type (the article's frontmatter type field like "life", "tech") instead of .Section (the content section like "articles"). Changed condition from eq .Type "articles" to eq .Section "articles". Also added Hugo's [related] configuration block to enable content matching by categories (weight 100) and tags (weight 80) with an 80% threshold for finding related posts. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18fixed: larger sidebar titles, color --accent WCAG AA passed.Danilo M.2-4/+6
2026-04-18style: unify sidebar widget styling with bash comment prefixDanilo M.4-16/+35
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.3-0/+27
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.2-4/+10
2026-04-18style: center-align social share icon gridDanilo M.2-2/+2
2026-04-18fix: use explicit 50px column grid for share icons so sidebar always shows ↵Danilo M.3-5/+13
5+4 layout
2026-04-18style: display social share icons in 5-column grid on sidebar (5+4 rows)Danilo M.1-1/+1
2026-04-18fix: bring social share widget into WCAG AA and theming standard complianceDanilo M.2-22/+32
2026-04-18style: redesign social share widget with terminal-native aestheticDanilo M.3-74/+131
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.3-23/+57
2026-04-17build: rebuild CSS to include social sharing widget utility classesDanilo M.1-0/+49
2026-04-17feat: embed social sharing widget inline on repository pageDanilo M.1-0/+5
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.2-0/+156
2026-04-17i18n: add social sharing translation keys (EN + IT)Danilo M.2-0/+14
Add 7 new translation keys to all four i18n files for the social sharing widget feature: reddit, pinterest, whatsapp, telegram, signal, shareViaEmail, and linkCopied. Updated both theme and root i18n files in English and Italian. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
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-17fix: implement proper language-specific 404 layoutsDanilo M.2-8/+155
Created 404.en.html and 404.it.html in themes/danix-xyz-hacker/layouts/ following Hugo's standard pattern for language-specific templates. Each layout uses i18n for translations and links to the correct language-specific sections. Hugo automatically selects the correct template based on request language. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: use content-based 404 pages with proper language contextDanilo M.2-168/+21
Created language-specific 404 content pages (content/en/404.md and content/it/404.md) that Hugo renders with the correct language context. Updated redirect rules and created _default/404.html layout that uses i18n properly. Now .Lang is set correctly for translation strings. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: use language-specific 404 layouts with hardcoded stringsDanilo M.2-13/+164
Created 404.en.html and 404.it.html with fully hardcoded English and Italian text. Hugo automatically routes language-specific requests to the correct layout. No i18n, no hacks, just simple and direct. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: simplify 404 page to use Hugo's standard i18n without hacksDanilo M.2-33/+4
Removed JavaScript language detection and Alpine component. Use simple static links that work with both languages. Hugo's redirect rules and i18n system handle language context automatically. No JavaScript hacks. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17Revert "fix: use language-specific 404 layouts for proper i18n support"Danilo M.3-155/+32
This reverts commit 94a11324999f07feff138364633e8442947b628a.
2026-04-17fix: use language-specific 404 layouts for proper i18n supportDanilo M.3-32/+155
Created separate 404.html layouts in themes/danix-xyz-hacker/layouts/it/ and themes/danix-xyz-hacker/layouts/en/ with hardcoded language-specific links. Hugo automatically routes language requests to the correct layout, enabling proper i18n context and translations. Removed generic 404.html and all JavaScript detection hacks. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17Revert "fix: detect language server-side in 404 template for proper ↵Danilo M.1-48/+13
translations" This reverts commit b25385f7313edce6191a038dc906d88d6b26c7a3.
2026-04-17fix: detect language server-side in 404 template for proper translationsDanilo M.1-13/+48
Added language detection at template level to determine language from permalink and build translation dictionary. All i18n strings now use language-aware translations instead of relying on .Lang context which isn't available in 404 handler. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: use client-side language detection with redirect rules for 404 navigationDanilo M.2-14/+26
Rely on hugo.toml redirect rules to serve correct 404.html and detect language from window.location.pathname in notFoundNav() Alpine component. Navigation links now properly route to Italian (/it/*) or English (/*) sections based on request URL. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17Revert "fix: use Hugo content-based 404 pages for proper multilingual support"Danilo M.2-8/+21
This reverts commit 1cab4424a5c6dd2aeb453d299b6a2f12a840599d.
2026-04-17fix: use Hugo content-based 404 pages for proper multilingual supportDanilo M.2-21/+8
Created language-specific 404 pages (content/en/404.md and content/it/404.md) instead of using JavaScript detection. Hugo now properly routes 404 errors to the correct language context, allowing .Lang and i18n to work correctly. Removed JS language detection hack. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: use client-side language detection for 404 navigation linksDanilo M.3-16/+21
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: detect language from permalink instead of .Lang in 404 templateDanilo M.1-6/+10
Hugo's .Lang is unreliable in 404 context. Changed to detect language from the request permalink (checking for /it/ prefix) to properly route Italian 404 pages to Italian content sections. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: use language-aware URL construction for 404 navigation linksDanilo M.1-3/+7
Updated home, articles, and contact links to properly handle IT/EN language routing by checking .Lang and building URLs without BaseURL prefix, matching the pattern used in header.html Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: easter egg modal visibility by removing conflicting hidden classDanilo M.1-2/+2
Changed modal display from static 'hidden' class to conditional binding that only applies 'hidden' when showEasterEgg is false. This prevents Tailwind's display: none !important from overriding the flex layout binding. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17fix: add type="button" to all buttons to prevent form submission behaviorDanilo M.1-0/+4
2026-04-17debug: add console.log to test Alpine.js component registrationDanilo M.1-0/+4
2026-04-17fix: simplify Alpine.js component initialization by loading articles data ↵Danilo M.2-9/+2
directly