diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 764dfec0..d835a755 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,14 +1,33 @@ blank_issues_enabled: false contact_links: - - name: Questions + - name: ๐ฌ Contributing chat (Discord) url: https://discord.gg/z8wNYzb - about: Chat live with the Hugo Blox Builder community on Discord. - - name: Discussions - url: https://github.com/HugoBlox/hugo-blox-builder/discussions - about: Discuss Hugo Blox Builder on the GitHub Discussions forum - - name: Troubleshooting Guide + about: Ask quick questions in the Contributing channel and coordinate with Geo & contributors. + + - name: ๐งช Troubleshooting Guide url: https://docs.hugoblox.com/reference/troubleshooting/ - about: Solve common issues fast. - - name: Documentation + about: Fix common issues fast and follow the reproducible-issue checklist before filing. + + - name: ๐ท๏ธ Help-wanted issues (good first tasks) + url: https://github.com/HugoBlox/hugo-blox-builder/labels/help%20wanted + about: Pick a bite-sized task and open your first PR in minutes. + + - name: ๐งญ Contributing Guide + url: https://github.com/HugoBlox/hugo-blox-builder/blob/main/CONTRIBUTING.md + about: How we work, environment setup, style, and PR tips. + + - name: ๐งต Discussions (Q&A, ideas) + url: https://github.com/HugoBlox/hugo-blox-builder/discussions + about: Ask for help, propose features, or share learnings. + + - name: ๐ Documentation url: https://docs.hugoblox.com/ - about: Review the documentation + about: Explore all Hugo Blox docs, tutorials, and references. + + - name: ๐ Support Hugo Blox (All Access) + url: https://hugoblox.com/all-access + about: Too busy to contribute? Support development and get lifetime template updates. + + - name: ๐ซถ Sponsor on GitHub + url: https://github.com/sponsors/gcushen + about: Prefer monthly or one-time sponsorship via GitHub. diff --git a/modules/blox-tailwind/assets/css/blox/biography.css b/modules/blox-tailwind/assets/css/blox/biography.css index 911e596a..806d775f 100644 --- a/modules/blox-tailwind/assets/css/blox/biography.css +++ b/modules/blox-tailwind/assets/css/blox/biography.css @@ -5,13 +5,11 @@ position: relative; } - /* Custom avatar size on homepage */ + /* Custom avatar size on homepage - size controlled by template params */ .avatar { width: auto; height: auto; - max-width: 225px; - max-height: 225px; object-fit: cover; } @@ -97,8 +95,7 @@ .avatar-wrapper { position: relative; - width: 150px; /* Match image size in about.avatar widget */ - height: 150px; + /* width and height controlled by template params */ margin-left: auto; margin-right: auto; } diff --git a/modules/blox-tailwind/hugo.yaml b/modules/blox-tailwind/hugo.yaml index a87d7463..b530c50c 100644 --- a/modules/blox-tailwind/hugo.yaml +++ b/modules/blox-tailwind/hugo.yaml @@ -102,6 +102,12 @@ outputFormats: baseName: backlinks isPlainText: true notAlternative: true +imaging: + # High quality defaults for crisp avatar display + quality: 90 + resampleFilter: lanczos + anchor: smart + hint: picture params: locale: date_format: 'Jan 2, 2006' diff --git a/modules/blox-tailwind/layouts/_partials/blox/resume-biography-3.html b/modules/blox-tailwind/layouts/_partials/blox/resume-biography-3.html index db12d682..9aa9b7c9 100644 --- a/modules/blox-tailwind/layouts/_partials/blox/resume-biography-3.html +++ b/modules/blox-tailwind/layouts/_partials/blox/resume-biography-3.html @@ -15,7 +15,20 @@ {{end}} {{ $person := $person_page.Params }} {{ $avatar := ($person_page.Resources.ByType "image").GetMatch "*avatar*" }} -{{ $avatar_shape := site.Params.features.avatar.shape | default "circle" }} + +{{/* Avatar customization parameters */}} +{{ $avatar_size := $block.design.avatar.size | default "medium" }} +{{ $avatar_shape := $block.design.avatar.shape | default "circle" }} + +{{/* Size mappings optimized for 2025 standards: display_size -> [display_px, generation_px] */}} +{{ $size_map := dict "small" (slice "150" "300") "medium" (slice "200" "400") "large" (slice "320" "640") "xl" (slice "400" "800") "xxl" (slice "500" "1000") }} +{{ $size_config := index $size_map $avatar_size | default (index $size_map "medium") }} +{{ $display_size := index $size_config 0 }} +{{ $generation_size := index $size_config 1 }} + +{{/* Shape class mappings */}} +{{ $shape_classes := dict "circle" "rounded-full" "square" "rounded-none" "rounded" "rounded-lg" }} +{{ $shape_class := index $shape_classes $avatar_shape | default "rounded-full" }}