mirror of
https://github.com/falsycat/ar.falsy.cat.git
synced 2024-12-25 16:14:50 +00:00
fix: highlights being stripped in non-semantic search mode
This commit is contained in:
parent
8fc6b8e28e
commit
6dd4c64a4c
@ -55,16 +55,17 @@ const removeMarkdown = (
|
||||
|
||||
const highlight = (content, term) => {
|
||||
const highlightWindow = 20
|
||||
|
||||
// try to find direct match first
|
||||
const directMatchIdx = content.indexOf(term)
|
||||
if (directMatchIdx !== -1) {
|
||||
const h = highlightWindow / 2
|
||||
console.log(directMatchIdx)
|
||||
const h = highlightWindow
|
||||
const before = content.substring(0, directMatchIdx).split(" ").slice(-h)
|
||||
const after = content
|
||||
.substring(directMatchIdx + term.length, content.length - 1)
|
||||
.substring(directMatchIdx + term.length, content.length - 2)
|
||||
.split(" ")
|
||||
.slice(0, h)
|
||||
console.log(before, after)
|
||||
return (
|
||||
(before.length == h ? `...${before.join(" ")}` : before.join(" ")) +
|
||||
`<span class="search-highlight">${term}</span>` +
|
||||
@ -109,10 +110,9 @@ const highlight = (content, term) => {
|
||||
|
||||
// Common utilities for search
|
||||
const resultToHTML = ({ url, title, content }) => {
|
||||
const cleaned = removeMarkdown(content)
|
||||
return `<button class="result-card" id="${url}">
|
||||
<h3>${title}</h3>
|
||||
<p>${cleaned}</p>
|
||||
<p>${content}</p>
|
||||
</button>`
|
||||
}
|
||||
|
||||
@ -195,7 +195,7 @@ const displayResults = (finalResults, extractHighlight = false) => {
|
||||
return resultToHTML({
|
||||
url: result.url,
|
||||
title: highlight(result.title, term),
|
||||
content: highlight(result.content, term)
|
||||
content: highlight(removeMarkdown(result.content), term)
|
||||
})
|
||||
} else {
|
||||
return resultToHTML(result)
|
||||
|
Loading…
Reference in New Issue
Block a user