Commit Graph
379 Commits
Author SHA1 Message Date
George Cushen 27742d31a0 fix(kit): correct gitignore to track docs layouts 2026-01-15 00:41:43 +00:00
George Cushen 3c4fb879d1 fix: restore sidebar visibility in docs layouts
Refactor the sidebar component logic to correctly handle the `no_sidebar` parameter.
Previously, `default true` treated an explicit `false` value as empty, causing the sidebar
to be hidden unintentionally. Replaced with an explicit inequality check.
2026-01-14 13:28:05 +00:00
George Cushen aa9edea5df feat(slides): add persistent branding with per-slide visibility control
- Add branding overlays: logo, title, author, and footer text
- Use Reveal.js theme CSS variables for automatic color adaptation
- Inline SVGs for currentColor support on any theme
- Per-slide control via HTML comments:
  - <!-- no-branding -->: hide all elements
  - <!-- no-header -->: hide logo + title
  - <!-- no-footer -->: hide author + footer
- Fix body-level CSS selectors for proper visibility
- Add comprehensive documentation in example slides
2026-01-13 15:36:32 +00:00
George Cushen 1352d89867 docs: edit 2026-01-10 23:58:12 +00:00
George Cushen 96aa04356e fix: respect new event start/end fields when filtering past/future in collection block 2026-01-10 18:45:01 +00:00
George Cushen 2754d1590f fix(blox): resolve template syntax errors in cta-image-paragraph
- Fix malformed if/else block causing "undefined variable $title"
- Add missing closing div tags to correct HTML generation
- Remove orphaned {{ end }} tag preventing proper parsing
2026-01-10 03:53:05 +00:00
George Cushen af716f0c18 fix(blox): solve variable scoping regression in cta-image-paragraph
- Lift $image_path variable declaration in cta-image-paragraph to fix scope error
- Remove unused $banner_path variable in resume-biography
2026-01-10 03:43:34 +00:00
George Cushen 3323f61390 fix(blox): unify image path resolution logic across blocks
- Update 'resume-biography', 'research-areas', 'logos', and 'cta-image-paragraph' blocks
- Add support for remote images (http/https) via resources.GetRemote
- Add support for Page Resources (bundles) via .Resources.GetMatch
- Normalize paths to handle 'assets/', 'media/', './' prefixes consistently
- Maintain backward compatibility with global assets and static URLs
2026-01-10 02:02:42 +00:00
George Cushen f500a081dd fix(testimonials): enhance avatar image resolution logic
- Support image resolution from Page Bundles, Remote URLs, and Global Assets
- Normalize paths to correctly handle 'assets/', 'media/', and './' prefixes
- Add fallback to static URLs if resource processing fails
- Fixes issue where avatar images failed to load in certain templates
2026-01-10 00:55:52 +00:00
George Cushen f612eb1dee chore: format 2026-01-10 00:37:41 +00:00
George Cushen b374e3d1d9 fix: portfolio filter limits, View All logic, and status badge configuration 2026-01-09 19:00:56 +00:00
George Cushen 2c2d7cd403 fix(team-showcase): align headers, square avatars, respect sort order 2026-01-09 01:04:21 +00:00
George Cushen d1d1c8a77d fix(portfolio): respect per-filter count while keeping filters populated 2026-01-09 01:02:59 +00:00
George Cushen b252f10dee fix(team-showcase): honor sort direction and improve portrait layout 2026-01-07 23:29:59 +00:00
George Cushen ac0f161733 fix(portfolio): prevent pre-filter slicing and clarify count usage 2026-01-07 23:06:05 +00:00
George Cushen ae338f0ba0 feat(authors): preserve entered casing and links for author names
- keep raw front-matter author strings as preferred display when no profile exists
- fall back to title-cased humanized slug only as last resort to avoid lowercase initials
- render authors directly from Params order and resolve links via taxonomy pages when present

Fix https://discord.com/channels/722225264733716590/1457522006462435541/1458539152160067784
2026-01-07 20:21:14 +00:00
George Cushen 62b8f3f8f6 feat: schema optimization
Reviewed all 27 block schemas in modules/blox/blox against their block.html implementations and applied best-practice optimizations. Here's what was updated:

Schemas Updated with New Properties

Schema	Changes
cta-button-list	Added label, name, link aliases; added new_tab boolean; changed required to anyOf for flexibility
dev-hero	Added content as required; added design.animations boolean
faq	Added title/text aliases for items; added padding_sm and defaults to spacing arrays
knowledge-categories	Added link field per category item; added minimum: 0 for count
portfolio	Added design.animations boolean; added sort_by enum
tech-stack	Added design.animations boolean

Schemas Updated with Improved Descriptions & Enums

Schema	Improvements
collection	Added sort_by enum; improved view description; changed columns to integer with min/max constraints
resume-experience	Added $comment documenting author profile fields (button, tags, etc.)
resume-skills	Added $comment documenting skill group structure
resume-awards	Added $comment documenting award item fields
resume-languages	Added $comment documenting language level conversions
resume-biography	Enhanced avatar size description with pixel values
resume-biography-3	Enhanced avatar/name size descriptions
stats	Improved statistic description with formatting examples
hero	Clarified no_padding description with Tailwind classes
logos	Enhanced display_mode description with layout behaviors
research-areas	Enhanced layout description with style explanations
team-showcase	Added sort_by enum with common values
search-hero	Added examples array for suggestions
testimonials	Added image processing note and examples
cta-image-paragraph	Added responsive image processing note
features	Enhanced icon description with pack formats and examples

Schemas Already Well-Aligned
These schemas were already in good shape and required no changes:
contact-info, cta-card, hero, markdown, stats, testimonials, trending-questions

Notes

New alias fields (label/name/link in buttons, title/text in FAQ items) provide backward compatibility with alternate naming conventions used in templates
The $comment fields document author profile data structures that aren't directly in the schema but are consumed by resume blocks
2026-01-07 19:58:32 +00:00
George Cushen 09eb7f7b18 feat: harden block inputs (batch 2)
Finished hardening the remaining blocks by guarding content/design maps, normalizing list inputs, coercing numeric/boolean values, and sanitizing links; also tightened scroll target handling in block.html.

Changes

Normalized portfolio tags/tech stacks/links, made archive defaults safe, and ensured filter JS uses JSON-safe tags in block.html.

Validated research area layouts and item fields, added safe media/link handling, and made CTA rendering resilient in block.html.

Hardened resume blocks for profile fields, buttons/links, and dates using try with time in block.html, block.html, and block.html.
Improved numeric parsing and labeling for language/skill meters in block.html and block.html.

Added guarded items and predictable grid classes in block.html.

Sanitized badge/title/suggestions/stats rendering in block.html, normalized tech categories and made list style exclusive in block.html, and hardened testimonials’ items/image handling in block.html.

Normalized dynamic/static question data, badges, and safe links in block.html.
2026-01-07 19:18:50 +00:00
George Cushen 98f0d201c1 feat: harden block inputs (batch 1)
Hardened 1st batch of five homepage blocks by normalizing config types, clamping unsafe values, and guarding bad inputs so user‑supplied params fail safe without template errors.

Changes

coerce_bool.html and coerce_int.html: added shared coercion helpers for consistent, safe defaults across blocks.

block.html: sanitized content/design inputs, robust user_groups parsing, safer role/affiliation/interest/link handling, and CTA URL validation.

block.html: guarded avatar/banner/name/headings/bio, safe
button/link resolution, and resilient parsing for affiliations, education, interests, and social links.

block.html: hardened filters (kinds/folders/tags), safer sort/order handling, clamped numeric params, and archive link safety/fallbacks.

block.html and block.html: defensive content rendering, clamped overlay opacity, and safe button link handling.

schema.json, schema.json, schema.json: added view enum entries, added new_tab, and Biome formatting applied.
2026-01-07 18:23:51 +00:00
George Cushen 3651909ac2 fix: team-showcase block enhancements 2026-01-07 17:53:09 +00:00
George Cushen b199122d65 style: improve spacing between groups 2026-01-07 17:33:36 +00:00
George Cushen 8ca8e40a8f feat(team-showcase): polish sorting, layout, and docs for labs/startups
- default to last-name sort with numeric-friendly keys for weight/graduation_year
- support per-group sorting, optional empty-state, and role fallback to affiliation
- add grid/interest caps, alignment controls, and avatar initial placeholders
- expose graduation_year/weight/name_family_pref in profiles; update schema/README
2026-01-07 16:04:26 +00:00
George Cushen 85307a8097 feat(authors): preserve author casing when profiles are missing
- retain raw front-matter author strings as display names when no profile data is present
- title-case humanized slug only as last-resort fallback to avoid lowercase surnames
- reduce need for author profile files while keeping names correctly capitalized

Fixes https://discord.com/channels/722225264733716590/1457522006462435541
2026-01-06 20:13:34 +00:00
George Cushen bfdcb6603c feat: port Markdown Slides template from Wowchemy/Bootstrap 2026-01-06 20:12:26 +00:00
George Cushen 3526fb1ca1 feat: add dev portfolio template and add dev-hero, portfolio, tech-stack blocks
Also, fix card view to use theme colors rather than hard-coded colors
2026-01-05 20:38:38 +00:00
George Cushen 30dd554e8d docs: modules 2026-01-02 22:19:16 +00:00
George Cushen ad2af1f352 refactor: repo rename 2026-01-02 22:07:38 +00:00
George Cushen 93d45a6e89 build: standardise go v 2026-01-02 22:01:47 +00:00
George Cushen cdaf97afb2 chore: bump v 2026-01-02 21:18:10 +00:00
George Cushen 43530f4a92 refactor: module versions 2026-01-02 21:13:36 +00:00
George Cushen 66cba27dc6 refactor: module versions 2026-01-02 21:06:55 +00:00
George Cushen f4280ddb1c refactor: rename modules and update migration docs
BREAKING CHANGE
Module paths moved to `github.com/HugoBlox/kit` with new names:
- core `blox-tailwind` → `blox`
- analytics → `analytics`
- netlify → `integrations/netlify`
- slides (reveal) → `slides`
Update go.mod, module.yaml/params, scripts, tests, and v0.11 migration guide accordingly.
2026-01-02 20:59:48 +00:00
George Cushen 8441dd2471 refactor: rename repo 2026-01-02 19:02:59 +00:00
George Cushen 0e60ce6608 refactor(events): namespace front matter to avoid conflict with Hugo's date
BREAKING CHANGE:

Standardize event metadata by introducing event_start, event_end, event_all_day, and event_name, keep Hugo’s built-in date for publication, and update all layouts/partials/JSON-LD/views to read the new names; demo event content now reflects the renamed params so event listings show their true schedule instead of the page creation date.
2026-01-02 18:51:10 +00:00
George Cushen d1b9c1ffb8 feat: deprecate Decap CMS support 2026-01-02 16:45:56 +00:00
George Cushen 04a4a10b41 chore: update block metadata 2025-12-31 01:18:09 +00:00
George Cushen fd22be65dd i18n(contact): move hardcoded contact block strings to language packs 2025-12-31 01:18:09 +00:00
George Cushen d95cd5fac8 fix(search): filters + metadata across collection layouts
Fixes https://github.com/HugoBlox/hugo-blox-builder/discussions/3292
2025-12-31 01:18:09 +00:00
George Cushen c48b65edb2 feat: safely parse image front matter structure 2025-12-29 00:02:24 +00:00
George Cushen e97ec701f5 feat: add safe defaults for locales 2025-12-20 02:34:36 +00:00
George Cushen 58718ebaec fix: BreadcrumbList structured data to comply with Google Search Console requirements
Add missing @type "ListItem" to breadcrumb items and restructure item field
from URL string to object with @id and name properties. Resolves "Invalid
object type for field 'itemListElement'" errors reported in Google Search Console.

See https://discord.com/channels/722225264733716590/1451194469637427272
2025-12-18 23:03:51 +00:00
George Cushen 6158e5eaf9 fix: Creative Commons footer attribution text and icons
Also, drops experimental license type 'all_rights'

Fixes #3289
2025-12-15 19:16:54 +00:00
George Cushen c72b26de8d feat: allow same origin iframes to support slides 2025-12-15 00:13:47 +00:00
George Cushen d15979197a feat: allow to hide slides like in Powerpoint
use `<!-- hide -->` in the slide contents.
2025-12-14 23:55:50 +00:00
George Cushen 73b5f7d575 feat: add dedicated Event layout with built-in Slides 2025-12-14 03:28:29 +00:00
George Cushen 6acb9cb914 tpl: reduce default name txt size
For longer names
2025-12-11 01:41:13 +00:00
George Cushen e46bd3a37a fix: avatar size overrided
Also, updated workspace config in hugo-blox-builder.code-workspace:

Removed disused plugins
Map all HTML/HTM under modules, templates, and test to the hugo language for proper templating support.
Enable Tailwind IntelliSense within Hugo files and Alpine class bindings via tailwindCSS.includeLanguages and tailwindCSS.experimental.classRegex.
Re-enable HTML formatting for non-Hugo files using Prettier while keeping Hugo formatting off.
Recommend the Tailwind CSS VS Code extension alongside existing recommendations.
2025-12-11 00:59:52 +00:00
George Cushen b7a66310d7 feat: disable debug HUD by default
Enable with

site.Params.hugoblox.debug.enable = true
2025-12-10 01:36:37 +00:00
George Cushen abfdad1620 feat: remove abandonware (Commento)
Recommend Giscus
2025-12-07 07:12:42 +00:00
George Cushen f0eb4a7e9c feat: standardize author profiles & add devcontainer 2025-12-07 01:50:48 +00:00