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..28549e811c626 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 = hit.subcategory === hit.title + ? `${category}${spacer}${pageTitle}` + : `${category}${spacer}${subcategory}${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}