Fix tabs: use page-level counter for unique group IDs (#817) (#818)

.Page.Store.Add is broken in Hugo 0.158+ (returns nil).
Additionally, Hugo renders shortcodes bottom-up, so the parent
tabs.html cannot pass data to child tab.html via .Store.

Fix:
- shortcode-id partial: replace .Page.Store.Add with explicit
  .Page.Store.Set + add, which works in Hugo 0.161+.
- tab.html: the first child tab generates a page-unique ID via
  the partial and caches it on .Parent.Store for siblings.
- tabs.html: remove broken .Store.Set "id" line.

This avoids the .Parent.Ordinal collision when tabs are nested
inside other shortcodes (details, columns, etc.).

Fixes #817
This commit is contained in:
Daniel Strobusch
2026-05-27 13:51:45 +02:00
committed by GitHub
parent 6d5d778e4b
commit f597beb5c4
2 changed files with 4 additions and 2 deletions
-1
View File
@@ -1,4 +1,3 @@
{{- .Store.Set "id" (partial "docs/text/shortcode-id" .) -}}
{{- $attributes := partial "docs/text/mapper" (dict
"attributes" (cond .IsNamedParams .Params dict)
"merge" (dict