diff options
| author | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-30 23:42:13 +0200 |
|---|---|---|
| committer | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-30 23:42:24 +0200 |
| commit | 56ee7b58bf0261cef6bfefc6ace20dc9e033c5f1 (patch) | |
| tree | 4ad36ecc71cb5acf93e36924d5220dd76a67ea30 /assets/js/search.js | |
| parent | 545c26b7e59a4d8fffb0aa946e440eca78a24887 (diff) | |
| download | gohugo-theme-ed-56ee7b58bf0261cef6bfefc6ace20dc9e033c5f1.tar.gz | |
Correct Regex to match sentence boundary when render search result
Diffstat (limited to 'assets/js/search.js')
| -rw-r--r-- | assets/js/search.js | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/assets/js/search.js b/assets/js/search.js index f37e15b..b66b12d 100644 --- a/assets/js/search.js +++ b/assets/js/search.js @@ -156,8 +156,7 @@ function createSearchResultBlurb(query, pageContent) { // term, we need a way to identify where each sentence begins/ends. This // regex will be used to produce a list of all sentences from the page // content. - const sentenceBoundaryRegex = new RegExp('\\b\\.\\s', 'gm'); - + const sentenceBoundaryRegex = new RegExp(/(?=[^])(?:\P{Sentence_Terminal}|\p{Sentence_Terminal}(?!['"`\p{Close_Punctuation}\p{Final_Punctuation}\s]))*(?:\p{Sentence_Terminal}+['"`\p{Close_Punctuation}\p{Final_Punctuation}]*|$)/, 'gum'); const searchQueryHits = Array.from( pageContent.matchAll(searchQueryRegex), (m) => m.index |
