Repository navigation
Update Hugo to 0.169.0 and Bulma to 1.0.4; Fix emoji tag pages - #1158
Open
CGBassPlayer wants to merge 18 commits into
Open
CGBassPlayer wants to merge 18 commits into
CGBassPlayer wants to merge 18 commits into
Conversation
Switch from the GitLab hugo_extended image (stops at 0.140.2) to the official ghcr.io/gohugoio/hugo image, run as the non-root hugo user, pin nginx, and pin HUGO_VERSION for Render.
languageCode -> locale, LanguageName -> Label, .Site.Data -> hugo.Data. paginate is ignored by newer Hugo, so move it to [pagination] pagerSize to keep 12 items per page.
Replace the vendored Bulma 0.9.2 with 1.0.4 (@use based), switch css.Sass to the dartsass transpiler, and clear all Sass deprecation warnings. The site stays dark via data-theme=dark and _theme.sass. Custom navbar, card, tag, picks and level styles are adapted to Bulma 1.0, and the episode page moves from tiles (removed in Bulma 1.0) to fixed-grid/grid/cell.
Bulma 1.0 made titles/headings 800, strong 600 and buttons 500. Set title/content-heading to 600, strong to 700 and buttons to 400 to match the previous look.
Pagination links lose their control sizing under Bulma 1.0 (undefined control vars), so set size, border, radius and colour explicitly. Restore the 3px navbar dropdown arrows, and add the fourth burger span Bulma 1.0 expects so the icon shows three bars again.
The host and guest taxonomy templates matched the person by the page .Title, which newer Hugo no longer sets to the raw term, so pages rendered empty. Use .Data.Term. Also restore Bulma 0.9 title/subtitle spacing and card footer border colour.
Replace the hard-coded colours added during the Bulma 1.0 migration with named variables from _variables.sass, which each partial pulls in with @use. Compiled CSS is unchanged. Revert the nginx pin to nginx:alpine as before.
The theme compiles with Dart Sass, so Render now builds through build.sh, following Hugo's Render hosting guide. Pin DART_SASS_VERSION to the Sass bundled in the Hugo image and add it to the upgrade checklist.
- Let Bulma derive custom colour inverts; jb-gold text returns to dark - Scope the .level override to the show links row - Share card radius and breakpoints through _variables.sass - Move episode grid styles from the template to layout/episode.sass
Hugo 0.146's template lookup no longer uses taxonomy/list.md for term pages, so /hosts/<name>/index.md fell back to _default/list.md and lost the person details and episode list. Look the person up by .Data.Term, matching the HTML taxonomy templates.
# Conflicts: # themes/jb/assets/css/main.sass
…r pages, raw tag names
… separators under Bulma 1.0 has-12-cols-tablet is a container query on the grid's own width, so the sidebar stayed stacked below the content until ~810px. Key the 12-column count to the viewport instead. Also zero the new flex gap on .tags (the tag margins already space them), restore the 0.9 negative bottom margin, drop the grid row gap on mobile, and pin the breadcrumb separator colour.
…piterBroadcasting#516) The emoji-only tags have an empty slug, so Hugo 0.169 writes one of their term pages to /tags/ and the index can't be tested. Skip instead of xfail, and correct the skip reasons.
…ags/ (JupiterBroadcasting#516) An emoji-only tag has an empty URL slug, so Hugo 0.169 wrote one of their term pages to /tags/ and replaced the tag index. content/tags/<emoji>/_index.md now gives each one a <shortcode>-emoji slug (e.g. /tags/giraffe-emoji/). The suffix avoids clashing with text tags like apple, zap, frog and ghost. The episode tag partial links emoji tags through their term page, the /tags/ index and emoji tag tests are re-enabled, and a test fails when an emoji tag has no term file.
…-named folders (JupiterBroadcasting#516) A content adapter in content/tags reads data/emoji_slugs.toml and adds a term page per emoji-only tag, so no file or directory is named after an emoji. The guard test now checks the data file. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
CGBassPlayer
marked this pull request as ready for review
November 11, 2026 18:16
This branch has not been deployed
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.
Note
#576 (Pagefind search) depends on this PR. Merge this first.
#475 and #1155 should also be merged before this to ensure the site continues to operate as expected with these updates.
Closes #510
Fixes #516
Summary of the Fixes
Dockerfile,Dockerfile.dev,render.yaml)_variables.sassbuild.sh)has-12-cols-tabletis a container query on the grid's own width, so the 12-column count is now keyed to the viewport inlayout/episode.sassgapon.tags), breadcrumb separator colour, and episode page bottom/mobile spacing/tags/and replaced the tag index. A content adapter (content/tags/_content.gotmpl) adds a term page per emoji tag fromdata/emoji_slugs.toml, each with a<shortcode>-emojislug (e.g./tags/giraffe-emoji/); the suffix avoids clashing with text tags such asapple,zap,frogandghost. The episode tag partial links emoji tags through their term page, which was previously a nonexistent/tags/%F0%9F%A6%92/Python/pytest dependency updates are deliberately left out and will come in a separate PR.
Why update Bulma
@importstyle, so moving to Dart Sass meant moving to Bulma 1.0's@usestructure.data-theme=dark), which suits a dark-only site and replaces some of the old Sass overrides.fixed-grid/grid/cell, and some custom navbar, card, tag, and pagination styles were adapted.Testing
Dockerfilebuild succeedshugo serve(Chromium only): 890 passed, 0 failed; Firefox and WebKit not run locally/tags/index and emoji tag tests, and addedtest_tags_without_text_have_a_slug, which fails when an emoji tag has no line indata/emoji_slugs.toml(a new emoji tag without one brings the/tags/overwrite back)