Wiki badge and /wiki links in global search results (#14)
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>
This commit was merged in pull request #14.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
<li component="post" class="posts-list-item {{{ if ./deleted }}} deleted{{{ else }}}{{{ if ./topic.deleted }}} deleted{{{ end }}}{{{ end }}}{{{ if ./topic.scheduled }}} scheduled{{{ end }}}" data-pid="{./pid}" data-uid="{./uid}">
|
||||
<hr/>
|
||||
<a class="topic-title fw-semibold fs-5 mb-2 text-reset text-break d-block" href="{{{ if ./isWikiArticle }}}{config.relative_path}{./wikiPath}{{{ else }}}{config.relative_path}/post/{encodeURIComponent(./pid)}{{{ end }}}">
|
||||
{{{ if ./isWikiArticle }}}<span class="badge westgate-wiki-badge"><i class="fa fa-book-open"></i> [[westgate:wiki-badge]]</span> {{{ else }}}{{{ if ./isMainPost }}}<i class="fa fa-book text-muted" title="[[topic:topic]]"></i> {{{ end }}}{{{ end }}}{./topic.title}
|
||||
</a>
|
||||
|
||||
<div class="post-body d-flex flex-column gap-1 mb-2">
|
||||
<div class="d-flex gap-2 post-info text-sm align-items-center">
|
||||
<div class="post-author d-flex align-items-center gap-1">
|
||||
<a class="lh-1 text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
|
||||
<a class="lh-1 fw-semibold" href="{config.relative_path}/user/{./user.userslug}">{../user.displayname}</a>
|
||||
</div>
|
||||
<span class="timeago text-muted lh-1" title="{./timestampISO}"></span>
|
||||
</div>
|
||||
|
||||
<div component="post/content" class="content text-sm text-break">
|
||||
{./content}
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 d-flex flex-wrap gap-1 w-100">
|
||||
{buildCategoryLabel(./category, "a", "border")}
|
||||
<span data-tid="{./topic.tid}" component="topic/tags" class="lh-1 tag-list d-flex flex-wrap gap-1 {{{ if !./topic.tags.length }}}hidden{{{ end }}}">
|
||||
{{{ each ./topic.tags }}}
|
||||
<a href="{config.relative_path}/tags/{./valueEncoded}"><span class="badge border border-gray-300 fw-normal tag tag-class-{./class}" data-tag="{./value}">{./valueEscaped}</span></a>
|
||||
{{{ end }}}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
Reference in New Issue
Block a user