Skip to content

Commit 9ca2a74

Browse files
committed
fix(shortcodes): solution label honours inline markdown + v0.13.9 changelog
Pipes the solution label through markdownify so an author can write label="**Solution** with bold" and have it render. Same fix as the title-arg shortcodes in v0.13.6. Also documents v0.13.9's bigger change — the security hardening from 719b48a that extracted the CSS-color allow-list into a shared layouts/_partials/css-color.html partial and applied it across button, card, icon, linkedin, and webex-msg.
1 parent 719b48a commit 9ca2a74

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,23 @@ All notable changes to the Splunk Workshop Theme are documented here.
55
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
66
versions follow [Semantic Versioning](https://semver.org/).
77

8+
## [0.13.9] - 2026-06-08
9+
10+
### Security
11+
12+
- **CSS-color allow-list factored into a shared partial.** New `layouts/_partials/css-color.html` validates a user-supplied colour against a regex allow-list (hex, named colours, `rgb()` / `hsl()` / `var()` / `color-mix()` syntax) before it's interpolated into an inline `style` attribute. Applied to every shortcode that takes a `color=` arg and emits it inline:
13+
- `button.html` (filled-style chip)
14+
- `card.html` (`--card-accent` CSS variable)
15+
- `icon.html` (inline glyph color)
16+
- `linkedin.html` (replaces the local copy of the same regex)
17+
- `webex-msg.html` (avatar tint)
18+
19+
Same defence as `textcolor.html` / `badge.html`. On failure each shortcode falls back to a sensible per-context default (`currentColor`, accent, etc.) so a malformed value degrades safely instead of rendering attacker-controlled CSS declarations.
20+
21+
### Fixed
22+
23+
- **`solution` shortcode label now honours inline markdown.** Same fix as the other title-arg shortcodes in v0.13.6 — pipes the label through `markdownify` so an author can write `label="**Solution** with bold"` and have it render as expected.
24+
825
## [0.13.8] - 2026-06-08
926

1027
### Fixed

layouts/shortcodes/solution.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{{- $label := .Get "label" | default (.Get 0) | default (i18n "solution") -}}
22
<details class="solution">
3-
<summary class="solution__summary">{{ $label }}</summary>
3+
<summary class="solution__summary">{{ $label | markdownify }}</summary>
44
<div class="solution__body">
55
{{ .Inner | .Page.RenderString }}
66
</div>

0 commit comments

Comments
 (0)