- 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
- 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
- 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
- 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
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
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.
- 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
- 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