Repository navigation
fix(navigator): render curated Featured cards non-blank (#1941) - #1945
Merged
Merged
Conversation
The browse/_partials/card-{mission,group,tutorial}.html partials were
changed in 0d202e3 to expect a { item, categories } dict, and the browse
callers were updated — but tutorial-navigator/list.html kept passing the
bare card object. That left .item nil, so every field (href, title,
description, level, time, tag) rendered blank in the SSR 'Featured' rail.
Because /build/featured returns [] on DEV+PROD, featured-rail.js keeps the
SSR markup, so users saw empty MISSION cards on the Tutorial Navigator page.
Wrap both the SSR preview grid and the Featured rail partial calls in the
{ item, categories } dict (mirroring browse/list.html), and build the
category slug->label map from browse.categories.
Adds a render assertion to hugo-homepage-partials.test.ts that fails on the
blank-card regression (scoped to the rail section to avoid matching the
inlined browse-data JSON).
jung-thomas
force-pushed
the
worktree-fix-1941-featured-blank
branch
from
August 20, 2026 14:52
90a37cb to
8abe6b6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1941 — Featured Missions cards render blank (no title/description/link) on the Tutorial Navigator page.
Root cause
Commit
0d202e3fchangedbrowse/_partials/card-{mission,group,tutorial}.htmlto expect a{ item, categories }dict and updated the/browse/callers — buthugo/layouts/tutorial-navigator/list.htmlkept passing the bare card object. So inside the partial.itemwas nil and every field (href, title, description, level, time, tag) rendered empty.Because
/build/featuredreturns[]on both DEV and PROD,featured-rail.jsfail-silently keeps the SSR markup — so users saw empty MISSION cards. Verified live ondevelopers.sap.com/tutorial-navigator/(cards had emptyhref/title/desc, "0 min.").Fix
$categoriesMap(slug→label) frombrowse.categories, mirroringbrowse/list.html.(dict "item" $item "categories" $categoriesMap).Test
Added a render assertion to
test/unit/hugo-homepage-partials.test.tsthat builds the navigator page and asserts the Featured rail card shows a non-blank title + description (scoped to the rail section so it can't false-positive on the inlinedbrowse-dataJSON). Confirmed red before the fix, green after.Note (out of scope)
hugo/layouts/partials/homepage/tutorials-teaser.htmlhas the same latent bare-$itembug, but it is not included by any layout (dead partial), so it is left untouched here.