- Dark velvet pre/code styling + Westgate hljs syntax palette for post
content and composer preview (markdown plugin's light hljs theme was
rendering white blocks)
- Visible focus ring on mobile drawer search (was outline: 0 with no
replacement)
- Placeholder contrast raised to pass 4.5:1; tagsinput placeholder now
reuses the token instead of $gray-500
- prefers-reduced-motion block zeroing transitions/animations
- Fix stray </li> closing a <div> in quick-search-results.tpl
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
NodeBB 4.14 turned on real HTML escaping for single-brace template interpolations (4.13 used an identity escape). This ports raw-HTML output to the double-brace forms ({{helper(...)}}, {{txEscape(content)}}, {{tx(name)}}), mirroring the harmony 2.2.72 -> 3.0.15 and core 4.13.2 -> 4.14.0 template diffs. Fixes the escaped-markup breakage on westgate.pw after the 2026.07.11-1 deploy.
Verified on a fresh 4.14.0 dev stack: no escaped tags on /, /categories, /category/2, /topic/1, /search; contract tests pass.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Reviewed-on: #19
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: gitea-bot <gitea-bot@noreply.git.westgate.pw>
Co-committed-by: gitea-bot <gitea-bot@noreply.git.westgate.pw>
Theme half of the cross-repo wiki global search work (plugin half: sow-nodebb-plugin-wiki#12).
Search results tagged by the wiki plugin (`isWikiArticle` + `wikiPath`) now render with a gold "Wiki" badge and link to `/wiki/...` instead of `/post/...`:
- `templates/partials/quick-search-results.tpl` — navbar quick-search dropdown
- `templates/partials/search-results.tpl` — `/search` page, topics view
- `templates/partials/posts_list_item.tpl` — `/search` page, posts view (default). Shared with account/group post lists, where the wiki flags are never set and the conditional no-ops.
- `scss/westgate/_search.scss` — badge styling from existing `--wg-gold` / ledger-border tokens; imported from `theme.scss`
- `languages/en-GB/westgate.json` — `[[westgate:wiki-badge]]` label
- Spec updated with the resolved approach (template override, not client-side decoration)
Untagged forum results render byte-identical to Harmony stock.
Verification: all three overrides compiled and rendered against benchpressjs with mixed wiki/forum fixture rows (wiki row gets `/wiki/...` href + exactly one badge; forum rows keep stock `/post/...` links, `RE:` prefix and main-post icon preserved). New contract test in `tests/wiki-search-badge-contract.test.js`; suite passes except the pre-existing `global-footer-contract.test.js` failure (stale `join-the-team` link assertion from #10, also failing on main — not touched here).
End-to-end visual check (badge in the live dropdown + /search) still needs the dev stack with plugin PR #12 merged.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Reviewed-on: #14
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>