|
9 | 9 |
|
10 | 10 | <script src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script> |
11 | 11 | <script> |
| 12 | + {{/* Which track is this page on? Records are tagged "cli" or "core" by the |
| 13 | + crawler; everything that isn't the CLI track (core, knowledge base, |
| 14 | + contributing guide) searches the "core" records. */}} |
| 15 | + {{ $track := cond (eq (.Page.Params.track | default "core") "cli") "cli" "core" }} |
| 16 | + {{ $trackLatest := cond (eq $track "cli") .Site.Params.cliLatest .Site.Params.latest }} |
| 17 | + {{ $latestLink := cond (eq $track "cli") (printf "/cli/v%s/" .Site.Params.cliLatest) (printf "/v%s/" .Site.Params.latest) }} |
| 18 | + |
12 | 19 | {{ $cur_ver := "" }} |
13 | | - {{/* Only filter if we have a version parameter and it's not "0" (static pages) */}} |
| 20 | + {{/* Every version folder is indexed, so always send a version facet. |
| 21 | + Pages without a version param (the build-time /latest and /cli/latest |
| 22 | + copies, the home page) fall back to the track's latest version. |
| 23 | + Static pages (version "0": contribute guide, knowledge base) are |
| 24 | + handled separately below so their own records stay searchable. */}} |
14 | 25 | {{ if and .Page.Params.version (ne .Page.Params.version "0") }} |
15 | 26 | {{ if eq .Page.Params.version "master" }} |
16 | 27 | {{ $cur_ver = "0.0.0-master" }} |
17 | 28 | {{ else }} |
18 | 29 | {{ $cur_ver = .Page.Params.version }} |
19 | 30 | {{ end }} |
| 31 | + {{ else if not .Page.Params.version }} |
| 32 | + {{ $cur_ver = $trackLatest }} |
20 | 33 | {{ end }} |
21 | 34 |
|
22 | | - {{/* Which track is this page on? Records are tagged "cli" or "core" by the |
23 | | - crawler; everything that isn't the CLI track (core, knowledge base, |
24 | | - contributing guide) searches the "core" records. */}} |
25 | | - {{ $track := cond (eq (.Page.Params.track | default "core") "cli") "cli" "core" }} |
26 | | - {{ $trackLatest := cond (eq $track "cli") .Site.Params.cliLatest .Site.Params.latest }} |
27 | | - {{ $latestLink := cond (eq $track "cli") (printf "/cli/v%s/" .Site.Params.cliLatest) (printf "/v%s/" .Site.Params.latest) }} |
28 | | - |
29 | 35 | const docSearchInstance = docsearch({ |
30 | 36 | container: '#docSearch', |
31 | 37 | appId: '9UXKYX61NK', |
|
34 | 40 | placeholder: 'Search the docs', |
35 | 41 | searchParameters: { |
36 | 42 | attributesToRetrieve: ['hierarchy.lvl0', 'hierarchy.lvl1', 'hierarchy.lvl2', 'hierarchy.lvl3', 'hierarchy.lvl4', 'hierarchy.lvl5', 'hierarchy.lvl6', 'content', 'type', 'url', 'version'], |
37 | | - facetFilters: [['track:{{ $track }}']{{ if $cur_ver }}, ['version:{{ $cur_ver }}']{{ end }}] |
| 43 | + facetFilters: [['track:{{ $track }}']{{ if $cur_ver }}, ['version:{{ $cur_ver }}']{{ else }}, ['version:0', 'version:{{ $trackLatest }}']{{ end }}] |
38 | 44 | }, |
39 | 45 | transformItems(items) { |
40 | 46 | // Add version warning banner and badges after DOM renders |
41 | 47 | setTimeout(() => { |
42 | | - {{ if and $cur_ver (ne .Page.Params.version "master") (ne .Page.Params.version $trackLatest) }} |
| 48 | + {{ if and $cur_ver .Page.Params.version (ne .Page.Params.version "master") (ne .Page.Params.version $trackLatest) }} |
43 | 49 | // Add warning banner for old version |
44 | 50 | const dropdown = document.querySelector('.DocSearch-Dropdown-Container'); |
45 | 51 | if (dropdown && !dropdown.hasAttribute('data-version-banner-added')) { |
|
0 commit comments