@@ -232,7 +232,7 @@ var Search = {
232232 if ( term != Search . currentSearch ) {
233233 Search . currentSearch = term ;
234234 const language = document . querySelector ( "html" ) ?. getAttribute ( "lang" ) ;
235- const allResultsURL = `${ baseURLPrefix } search/results?search=${ term } ${ language && `&language=${ language } ` } ` ;
235+ const allResultsURL = `${ baseURLPrefix } search/results?search=${ encodeURIComponent ( term ) } ${ language && `&language=${ encodeURIComponent ( language ) } ` } ` ;
236236 $ ( "#search-results" ) . html ( `
237237 <header> Search Results </header>
238238 <table>
@@ -242,7 +242,7 @@ var Search = {
242242 <td class="matches">
243243 <ul>
244244 <li>
245- <a class="highlight" id="show-results-label" href=" ${ allResultsURL } " >
245+ <a class="highlight" id="show-results-label">
246246 Searching for <span id="search-term"> </span>...
247247 </a>
248248 </li>
@@ -273,6 +273,9 @@ var Search = {
273273 </table>
274274 ` ) ;
275275 $ ( "#search-term" ) . text ( term ) ;
276+ // Set the link target safely (no HTML parsing).
277+ $ ( "#show-results-label" ) . attr ( "href" , allResultsURL ) ;
278+
276279 this . initializeSearchIndex ( async ( ) => {
277280 const results = await Search . pagefind . debouncedSearch ( term ) ;
278281 if ( results === null || results . results . length === 0 ) {
@@ -325,7 +328,11 @@ var Search = {
325328 if ( ! i || typeof results . results [ i - 1 ] . data === 'object' ) categorizeResult ( i ) ;
326329 result . data . meta . title = result . data . meta . title . replace ( / ^ G i t - ( .* ) D o c u m e n t a t i o n $ / , "$1" )
327330 result . data . url = result . data . url . replace ( / \. h t m l $ / , '' )
328- result . li . html ( `<a href = "${ result . data . url } ">${ result . data . meta . title } </a>` ) ;
331+ // Build result item safely (no HTML parsing).
332+ const a = $ ( "<a>" ) ;
333+ a . attr ( "href" , result . data . url ) ;
334+ a . text ( result . data . meta . title ) ;
335+ result . li . empty ( ) . append ( a ) ;
329336 } ) ( displayCount ) . catch ( ( err ) => {
330337 console . log ( err ) ;
331338 result . li . html ( `<i>Error loading result</i>` ) ;
@@ -362,7 +369,7 @@ var Search = {
362369 const term = $ ( '#search-text' ) . val ( ) ;
363370 if ( ! term ) return ;
364371 const language = document . querySelector ( "html" ) ?. getAttribute ( "lang" ) ;
365- url = `${ baseURLPrefix } search/results?search=${ term } ${ language && `&language=${ language } ` } ` ;
372+ url = `${ baseURLPrefix } search/results?search=${ encodeURIComponent ( term ) } ${ language && `&language=${ encodeURIComponent ( language ) } ` } ` ;
366373 }
367374 window . location . href = url ;
368375 selectedIndex = 0 ;
0 commit comments