fix: search results linking to wrong spot on page (#737)

This commit is contained in:
Ludovic Fernandez
2025-08-11 08:23:30 +02:00
committed by GitHub
parent af78002014
commit 025dd1f211

View File

@@ -11,15 +11,15 @@
{{ else }} {{ else }}
{{ $headingKeys = $headingKeys | append (printf "%s#%s" $h1.ID $h1.Title) }} {{ $headingKeys = $headingKeys | append (printf "%s#%s" $h1.ID $h1.Title) }}
{{ end }} {{ end }}
{{ $headingTitles = $headingTitles | append (printf "# %s" $h1.Title) }} {{ $headingTitles = $headingTitles | append (printf "<h1>%s" $h1.Title) }}
{{ range $h2 := $h1.Headings }} {{ range $h2 := $h1.Headings }}
{{ $headingKeys = $headingKeys | append (printf "%s#%s" $h2.ID $h2.Title) }} {{ $headingKeys = $headingKeys | append (printf "%s#%s" $h2.ID $h2.Title) }}
{{ $headingTitles = $headingTitles | append (printf "## %s" $h2.Title) }} {{ $headingTitles = $headingTitles | append (printf "<h2>%s" $h2.Title) }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ $content := $page.RawContent }} {{ $content := $page.Content | htmlUnescape }}
{{ $len := len $headingKeys }} {{ $len := len $headingKeys }}
{{ $data := dict }} {{ $data := dict }}
@@ -35,14 +35,14 @@
{{ $headingTitle := index $headingTitles $i }} {{ $headingTitle := index $headingTitles $i }}
{{ if eq $i 0 }} {{ if eq $i 0 }}
{{ $data = $data | merge (dict $headingKey ($content | $page.RenderString | plainify | htmlUnescape | chomp)) }} {{ $data = $data | merge (dict $headingKey ($content | plainify | htmlUnescape | chomp)) }}
{{ else }} {{ else }}
{{ $parts := split $content (printf "\n%s\n" $headingTitle) }} {{ $parts := split $content (printf "%s" $headingTitle) }}
{{ $lastPart := index $parts (sub (len $parts) 1) }} {{ $lastPart := index $parts (sub (len $parts) 1) }}
{{ $data = $data | merge (dict $headingKey ($lastPart | $page.RenderString | plainify | htmlUnescape | chomp)) }} {{ $data = $data | merge (dict $headingKey ($lastPart | plainify | htmlUnescape | chomp)) }}
{{ $content = strings.TrimSuffix $lastPart $content }} {{ $content = strings.TrimSuffix $lastPart $content }}
{{ $content = strings.TrimSuffix (printf "\n%s\n" $headingTitle) $content }} {{ $content = strings.TrimSuffix (printf "%s" $headingTitle) $content }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}