{{/* Hugo Blox: Tech Stack */}} {{/* Documentation: https://hugoblox.com/blocks/ */}} {{/* License: https://github.com/HugoBlox/kit/blob/main/LICENSE.md */}} {{/* Initialise */}} {{ $page := .wcPage }} {{ $block := .wcBlock }} {{/* Enable animations */}} {{ if ne $block.design.animations false }} {{ $page.Store.Set "has_animations" true }} {{ $page.Store.Set "has_alpine" true }} {{ end }} {{/* Style */}} {{ $style := $block.design.style | default "grid" }} {{ $show_levels := $block.design.show_levels | default false }}
{{/* Header */}}
{{ with $block.content.title }}

{{ . | emojify | $page.RenderString }}

{{ end }} {{ with $block.content.subtitle }}

{{ . | emojify | $page.RenderString }}

{{ end }}
{{/* Categories */}}
{{ range $block.content.categories }}
{{/* Category Title */}} {{ with .name }}

{{ . }}

{{ end }} {{/* Tech Items - Centered flex layout */}}
{{ range $idx, $item := .items }} {{ $level := $item.level | default "" }} {{ $level_width := "0%" }} {{ $level_color := "bg-gray-500" }} {{ if eq $level "expert" }} {{ $level_width = "100%" }} {{ $level_color = "bg-emerald-500" }} {{ else if eq $level "advanced" }} {{ $level_width = "75%" }} {{ $level_color = "bg-primary-500" }} {{ else if eq $level "intermediate" }} {{ $level_width = "50%" }} {{ $level_color = "bg-amber-500" }} {{ else if eq $level "beginner" }} {{ $level_width = "25%" }} {{ $level_color = "bg-gray-400" }} {{ end }}
{{/* Icon */}}
{{ with $item.icon }} {{/* Add dark-icon class for icons that need inversion in dark mode */}} {{ $dark_icons := slice "express" "vercel" "github" "nextjs" }} {{ $icon_name := . }} {{ $needs_invert := false }} {{ range $dark_icons }} {{ if in $icon_name . }}{{ $needs_invert = true }}{{ end }} {{ end }}
{{ partial "functions/get_icon" (dict "name" . "attributes" "class=\"w-10 h-10\"") }}
{{ end }} {{/* Name */}} {{ $item.name }} {{/* Level Indicator */}} {{ if and $show_levels $level }}
{{ $level }}
{{ end }}
{{/* Hover glow effect */}}
{{ end }}
{{ end }}
{{/* Simple flat list style alternative */}} {{ if eq $style "list" }}
{{ range $block.content.categories }} {{ range $i, $tech := .items }}
{{ with $tech.icon }} {{ partial "functions/get_icon" (dict "name" . "attributes" "class=\"w-5 h-5\"") }} {{ end }} {{ $tech.name }}
{{ end }} {{ end }}
{{ end }}