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
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.
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
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
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.
For contact-info, logos, research-areas, team-showcase
Update:
- hero block: to prevent wide sub-title text on large screen
- stats block: re-designed stats block with new styles
- Add search-hero block with ==highlight== syntax and gradient mesh backgrounds
- Add knowledge-categories block with dynamic Hugo taxonomy counts
- Add trending-questions block with content-driven trending system
- Add FAQ/questions layouts with Alpine.js accordions and search integration
- Redesign search modal using Pagefind headless API to create custom UI design
- Add gradient mesh background system (orbs, waves, dots, grid) to framework
- Add i18n support for new blocks
- Fix video backgrounds regression in parse_block_v3.html
- Add QAPage/FAQPage structured data for SEO optimization
Add `icon` option to `organizations` and `education` data structures in author profiles.
Use the standard icon feature to apply a custom brand icon e.g. `icon: 'brands/my_company' and place `my_company.svg` in your `assets/media/icons/brands/` folder.
Co-authored-by: Olaf Lipinski <5785856+olipinski@users.noreply.github.com>
Closes#3281
During previous refactoring, the {{with}} was refactored to {{if}} leading to missing icon resource context, and hence custom icons were no longer rendering.
Fixes#3278
- Add preact dependency to all 6 starter package.json files for proper js.Build resolution
- Use automatic JSX runtime (JSX: "automatic", JSXImportSource: "preact") in libraries.html
- Restore proper ES module imports in hero/client.jsx and Icon.jsx components
- Remove vendored preact script loading since preact is now bundled via js.Build
- Fixes CI build failures with "Could not resolve preact/jsx-runtime" errors
- Provides cleaner, more standard JS tooling for users extending with custom components
BREAKING CHANGE: Starters now require `preact` in `package.json`to resolve preact dependency before hugo build
landing-page starter, which uses preact blocks, was only working only in monorepo due to Preact installed in root package.json but not starter package.json.
- Switch js.Build to classic JSX with global factory in `modules/blox-tailwind/layouts/_partials/libraries.html` (JSX=transform, JSXFactory=preact.h, JSXFragment=preact.Fragment)
- Update `modules/blox-tailwind/blox/hero/client.jsx` to call `preact.render` and remove `preact` import
- Remove `preact` import from `modules/blox-tailwind/blox/shared/js/components/Icon.jsx` (classic JSX uses global `preact.h`)
- Keep vendored `assets/dist/lib/preact/preact.min.js` and load it only when `needs_preact` is set
- Fixes CI error “Could not resolve preact/jsx-runtime” without requiring `preact` in each starter
Dev tools
- Add HBX Dev HUD (floating button + panel) with live log viewer
- Add get-build-id helper to dedupe logs per build (during `hugo server` refreshes)
Callouts
- Implement Obsidian-compatible callouts (15+ types) with shared renderer
- Add i18n title translations (en, es, fr) for all callout types
- Deprecate `callout` shortcode with suppressible warning; keep working
- Migrate starters to Markdown callouts (>[!TYPE]) and update docs
Logging
- Centralize logging in partial `functions/logger` with info/warn/error levels
- Use fmt.Warnidf for suppressible warnings (consistent IDs)
- Only show info in Dev HUD/JSON (no longer use warnf for info logging); warn/error still printed in CLI
- Include source metadata and build ID on each entry
Blocks – Collection
- Add support for `content.filters.kinds`
- Add `content.filters.tags` (array) alongside existing `filters.tag` (string)
Build/Tailwind/JS
- Fix missing Tailwind v4 styles in Hugo render: include preact-built assets, extract classes from JSX/TSX to `@sources`
- Load Preact client per block, publish source maps in dev; on-demand Alpine
CI
- Re-implement fast fails with panicOnWarning now that info logging as warnf removed
- Fix package splitter change detection: strip trailing slashes; collapse paths to starter roots
Starters/Docs
- Restructure courses under `courses/hugo-blox/`
- Update menus and landing pages
- Replace deprecated callout usage in content and docs
- Replace missing hero icon `download` with `arrow-down-tray` in academic-cv guide
Icons
- Improve icon resolver: default pack inference, better fallback, and precise missing-icon warnings (with page ref)