Port templates to NodeBB 4.14 benchpress escaping
NodeBB 4.14 registers a real __escape for template rendering (4.13 used
identity), so raw-HTML output must use the double-brace forms:
- HTML helpers: {{buildAvatar(...)}}, {{buildCategoryIcon(...)}}, etc.
- Pre-rendered HTML fields: {{txEscape(content)}} / {{./descriptionParsed}}
- Token-bearing text (nav labels, category names): {{tx(...)}}
- emails/partials/post-queue-body.tpl also adopts the 4.14 data shape
(notification.category/topic/user/content).
Mirrors the harmony 2.2.72 -> 3.0.15 and core 4.13.2 -> 4.14.0 diffs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
<div class="category-header d-flex flex-column gap-2">
|
||||
<div class="d-flex gap-3 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center flex-column{{{ end }}}">
|
||||
<div class="westgate-category-header-icon flex-shrink-0 {./class}">
|
||||
{buildCategoryIcon(@value, "60px", "rounded-1")}
|
||||
{{buildCategoryIcon(@value, "60px", "rounded-1")}}
|
||||
</div>
|
||||
<div class="d-flex flex-column gap-1">
|
||||
<h1 class="tracking-tight fs-3 fw-semibold mb-0">{./name}</h1>
|
||||
<h1 class="tracking-tight fs-3 fw-semibold mb-0">{{tx(./name)}}</h1>
|
||||
<div class="d-flex flex-wrap gap-2 align-items-center {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
||||
<span class="badge text-body border border-gray-300 stats text-xs">
|
||||
<span title="{formattedNumber(totalTopicCount)}" class="fw-bold">{humanReadableNumber(totalTopicCount)}</span>
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
{{{ if ./descriptionParsed }}}
|
||||
<div class="description text-secondary text-sm lh-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}} line-clamp-4 clamp-fade-sm-4">
|
||||
{./descriptionParsed}
|
||||
{{./descriptionParsed}}
|
||||
</div>
|
||||
{{{ end }}}
|
||||
{{{ if ./handleFull }}}
|
||||
|
||||
Reference in New Issue
Block a user