From a8e1a500b05231d5a5cab970641aab206b1dd225 Mon Sep 17 00:00:00 2001 From: Brian Deutsch Date: Tue, 25 Apr 2023 16:17:43 -0400 Subject: [PATCH 1/2] separate title and section header --- .../scripts/components/algolia/getHitData.js | 3 ++- .../components/algolia/searchpageHits.js | 26 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/assets/scripts/components/algolia/getHitData.js b/assets/scripts/components/algolia/getHitData.js index 6370cb55fab6d..5caed30a1a36d 100644 --- a/assets/scripts/components/algolia/getHitData.js +++ b/assets/scripts/components/algolia/getHitData.js @@ -6,7 +6,8 @@ export function getHitData(hit) { relpermalink: cleanRelPermalink, category: hit.category ? hit.category : 'Documentation', subcategory: hit.subcategory ? hit.subcategory : title, - title: hit.section_header ? hit.section_header : title, + title, + section_header: hit.section_header || null, content: hit._highlightResult.content ? hit._highlightResult.content.value : '' }; } diff --git a/assets/scripts/components/algolia/searchpageHits.js b/assets/scripts/components/algolia/searchpageHits.js index 9fe9e8e405cb6..2916749d7d58b 100644 --- a/assets/scripts/components/algolia/searchpageHits.js +++ b/assets/scripts/components/algolia/searchpageHits.js @@ -17,6 +17,20 @@ const renderHits = (renderOptions, isFirstRender) => { container.querySelector('.ais-Hits-list').innerHTML = joinedListItemsHTML; }; + const getTitleHierarchyHTML = (hit) => { + const spacer = '»' + const category = `

${hit.category}

` + const subcategory = `

${hit.subcategory}

` + const pageTitle = `

${hit.title}

` + const baseTitleHierarchy = `${category}${spacer}${subcategory}${spacer}${pageTitle}` + + if (hit.subcategory === hit.title) return `${category}${spacer}${pageTitle}` + + return hit.section_header + ? `${baseTitleHierarchy}${spacer}

${hit.section_header}

` + : `${baseTitleHierarchy}` + } + // Returns a bunch of
  • s const generateJoinedHits = (hitsArray) => { return hitsArray @@ -28,17 +42,7 @@ const renderHits = (renderOptions, isFirstRender) => { return `
  • -
    -

    ${hit.category}

    - - » - - ${ - hit.subcategory === hit.title - ? `

    ${hit.title}

    ` - : `

    ${hit.subcategory}

    »

    ${hit.title}

    ` - } -
    +
    ${getTitleHierarchyHTML(item)}

    ${displayContent}

    From ad9730fc75e1ed74c4e7d0279af44267fa06a245 Mon Sep 17 00:00:00 2001 From: Brian Deutsch Date: Thu, 27 Apr 2023 14:31:26 -0400 Subject: [PATCH 2/2] always include section header in hierarchy --- assets/scripts/components/algolia/searchpageHits.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/scripts/components/algolia/searchpageHits.js b/assets/scripts/components/algolia/searchpageHits.js index 2916749d7d58b..28549e811c626 100644 --- a/assets/scripts/components/algolia/searchpageHits.js +++ b/assets/scripts/components/algolia/searchpageHits.js @@ -22,9 +22,9 @@ const renderHits = (renderOptions, isFirstRender) => { const category = `

    ${hit.category}

    ` const subcategory = `

    ${hit.subcategory}

    ` const pageTitle = `

    ${hit.title}

    ` - const baseTitleHierarchy = `${category}${spacer}${subcategory}${spacer}${pageTitle}` - - if (hit.subcategory === hit.title) return `${category}${spacer}${pageTitle}` + const baseTitleHierarchy = hit.subcategory === hit.title + ? `${category}${spacer}${pageTitle}` + : `${category}${spacer}${subcategory}${spacer}${pageTitle}` return hit.section_header ? `${baseTitleHierarchy}${spacer}

    ${hit.section_header}

    `