From 3ca98a429b2fed5e2d032a486c9e666a05474095 Mon Sep 17 00:00:00 2001 From: bblaisATcoveo Date: Tue, 6 May 2025 09:17:25 -0400 Subject: [PATCH] Adding sitelinks support Sitelinks are extracted from the page content at indexing time --- src/connector.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/connector.js b/src/connector.js index 0b52807..e4d3b3b 100644 --- a/src/connector.js +++ b/src/connector.js @@ -168,6 +168,7 @@ function initTpl() { resultTemplateHTML = `

%[result.title]

+ %[result.breadcrumb]

- %[highlightedExcerpt]

`; } @@ -175,6 +176,7 @@ function initTpl() { resultTemplateHTML = `

%[result.title]

+ %[result.breadcrumb]

- %[highlightedExcerpt]

`; } @@ -455,7 +457,7 @@ function initEngine() { resultListController = buildResultList( headlessEngine, { options: { - fieldsToInclude: [ "author", "date", "language", "urihash", "objecttype", "collection", "source", "permanentid", "displaynavlabel", "hostname" ] + fieldsToInclude: [ "author", "date", "language", "urihash", "objecttype", "collection", "source", "permanentid", "displaynavlabel", "hostname", "sitelinks" ] } } ); querySummaryController = buildQuerySummary( headlessEngine ); @@ -986,6 +988,7 @@ function updateResultListState( newState ) { let printableUri = stripHtml( result.printableUri ); let clickUri = stripHtml( result.clickUri ); let title = stripHtml( result.title ); + let siteLinks = DOMPurify.sanitize( result.raw.sitelinks ); if ( result.raw.hostname && result.raw.displaynavlabel ) { const splittedNavLabel = ( Array.isArray( result.raw.displaynavlabel ) ? result.raw.displaynavlabel[0] : result.raw.displaynavlabel).split( '>' ); breadcrumb = '
  1. ' + stripHtml( result.raw.hostname ) + @@ -1001,6 +1004,7 @@ function updateResultListState( newState ) { .replace( '%[result.clickUri]', filterProtocol( clickUri ) ) .replace( '%[result.title]', title ) .replace( '%[result.raw.author]', author ) + .replace( '%[result.raw.sitelinks]', siteLinks ) .replace( '%[result.breadcrumb]', breadcrumb ) .replace( '%[result.printableUri]', printableUri.replaceAll( '&' , '&' ) ) .replace( '%[short-date-en]', getShortDateFormat( resultDate ) )