Files
HugoBlox-kit/modules
George Cushen 76023f9461 refactor(images): adopt Hugo reflect.IsImageResource* API for type-safe image processing
Replace manual format detection (printf "%T", MediaType.SubType whitelists,
duck-typing) with Hugo's new reflect.IsResource, reflect.IsImageResource, and
reflect.IsImageResourceProcessable functions across 19 template files.

Key changes:
- process_responsive_image: collapse 15-line format whitelist into single
  reflect.IsImageResourceProcessable call
- Unify three-way SVG/processable/GIF branches into two-way $canProcess guard
- Remove duplicate GIF passthrough branches in single.html, events/page.html
- Add missing SVG guard in research-areas block (was calling .Fill unprotected)
- Replace nil checks with reflect.IsResource in get_cover_image/get_featured_image

Design decision: GIFs are intentionally excluded from processing despite Hugo
supporting it — processing strips animation frames, so we preserve user-optimized
animated GIFs by checking (IsImageResourceProcessable AND not GIF).
2026-03-27 04:35:53 +00:00
..
2026-01-02 22:01:47 +00:00
2026-01-02 22:19:16 +00:00

HugoBlox Kit Modules

Install HugoBlox features as Hugo Modules.

Quick start (most sites)

Add HugoBlox Kit core to config/_default/module.yaml (or hugo.yaml):

module:
  imports:
    - path: github.com/HugoBlox/kit/modules/blox

That’s it — analytics is already included when you use modules/blox.

Module map

  • Core framework: github.com/HugoBlox/kit/modules/blox
    • Layouts, blocks (Blox), Tailwind pipeline, shortcodes, defaults
    • Includes: github.com/HugoBlox/kit/modules/analytics
  • Slides (content type): github.com/HugoBlox/kit/modules/slides
    • Markdown slide decks (powered by Reveal.js)
  • Integrations: github.com/HugoBlox/kit/modules/integrations/*
    • Netlify: github.com/HugoBlox/kit/modules/integrations/netlify

Optional installs

Slides

module:
  imports:
    - path: github.com/HugoBlox/kit/modules/blox
    - path: github.com/HugoBlox/kit/modules/slides

Netlify integration (security headers + redirects outputs)

module:
  imports:
    - path: github.com/HugoBlox/kit/modules/blox
    - path: github.com/HugoBlox/kit/modules/integrations/netlify

Then enable Hugo outputs for Netlify:

outputs:
  home: [HTML, RSS, headers, redirects]

Updating

hugo mod get -u github.com/HugoBlox/kit/modules/blox@main
hugo mod tidy