Commit Graph
366 Commits
Author SHA1 Message Date
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
George Cushen 301b29448a fix: lint 2025-12-03 21:01:08 +00:00
George Cushen e0a99de6da fix: theming
Unified terminology - All 11 theme packs now use surfaces: instead of ui (see prev commit)
Fixed empty value overrides - Empty strings ("") no longer override theme colors
Proper checking - Only non-empty values are applied
2025-12-01 05:40:50 +00:00
George Cushen 51927bf59f fix: align with schema v2 2025-12-01 05:12:06 +00:00
George Cushen 5d94827fb6 fix: align with schema v2 2025-12-01 05:12:06 +00:00
George Cushen 42824bfc8e feat(blox-tailwind): update deps 2025-12-01 03:15:47 +00:00
George Cushen 373eb7966e feat: standardize site params to schema v2
BREAKING CHANGE:

Restructures `params.yaml`. Refer to v0.11.0 Migration Guide at https://docs.hugoblox.com
2025-12-01 03:09:31 +00:00
George Cushen c8f2322fa6 feat: port page cover system
Just upload a cover image, `cover.*` to your blog post's folder
2025-11-30 06:55:28 +00:00
George Cushen d1e63984e6 feat: add theme engine + standardize params.yaml
Re-implements theme engine in Tailwind from the previous Bootstrap version.

Re-organizes appearance params in `params.yaml`.

Also,
- edit Readme
- add popular front matter alias `description` for `summary`
  - Created a new helper function: get_summary.html
  - Implements the priority order: .Params.summary > .Params.description > .Params.abstract > .Summary.
- clamp abstract in date-title-summary view
- default gradient mesh block bg to primary-secondary gradient from theme pack
- improve inline code styling - remove backticks around code

BREAKING CHANGE:
`params.yaml` data structure has changed - see docs and latest templates for example
2025-11-30 04:45:38 +00:00
George Cushen 51efdcd098 feat(themes): new color theme engine & packs 🎨
- **New Hybrid Engine:** Fully data-driven theming using YAML (`modules/blox-tailwind/data/themes/`). Supports:
  - **Palette Mode:** `primary: "indigo"` loads exact Tailwind 50-950 scales (OKLCH) for perfect utility matching.
  - **Hex Mode:** `primary: "#brand"` auto-generates accessible 50-950 tint/shade scales.
  - **Semantic Overrides:** `ui.header.background` accepts gradients, transparency, and images.
  - **Neutral Mapping:** Themes can retarget the gray scale (e.g. `neutral: "stone"` warms up the entire UI).

- **New Theme Packs:**
  - `default` (Blue/Sky + Dark)
  - `contrast` (High Contrast Light)
  - `latte` (Warm Coffee/Stone)
  - `dracula` (Dark Purple/Pink)
  - `americano` (Dark Espresso)
  - `marine` (Deep Ocean/Teal)
  - `retro` (Vintage Paper)
  - `synthwave` (Neon/Purple)
  - `cupcake` (Light Pink/Fuchsia)

- **Architecture:**
  - Standardized on `appearance.theme.light` / `appearance.theme.dark` config.
  - Legacy `appearance.color` remains as a primary color override.

This overhaul enables colored backgrounds/navbars, enables mix-and-match themes, and future-proofs the styling system for Tailwind v4.
2025-11-30 04:45:38 +00:00
Steve Jobz 613af2b8d9 fix(css): CSS class for hb-card-title to remove redundant items-start (#3287)
We only need items-center to ensure that icons align to the same line as text.
2025-11-28 20:54:03 +00:00
George Cushen e9a47baa66 feat(seo): enhancements for rich Google and LLM results
Add WebPage/CollectionPage schema, BreadcrumbList, and configurable llms.txt output for better rich results and AI crawling.

New `marketing.seo.llm` params added to `params.yaml` to config llm scraping prefs.
2025-11-23 03:42:43 +00:00
George Cushen 1bff23752e feat: add breadcrumb structured data via BreadcrumbList JSON-LD for non-home pages 2025-11-23 02:44:54 +00:00
George Cushen 575f85fdde feat: allow hud to be re-positioned 2025-11-20 22:30:41 +00:00