From ce5df837f5f6ed57f9e9f85439ee9a40ebf234dc Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 04 Dec 2022 05:03:12 +0000
Subject: [PATCH] feat: latex in search results
---
assets/js/util.js | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/assets/js/util.js b/assets/js/util.js
index 06db3c1..3346b7d 100644
--- a/assets/js/util.js
+++ b/assets/js/util.js
@@ -115,9 +115,11 @@
}
const redir = (id, term) => {
- // SPA navigation
+ const shouldTrim = PRODUCTION && SEARCH_ENABLED
+ const baseURLPrefix = shouldTrim ? "" : BASE_URL.replace(/\/$/g, "")
+ const urlString = `${baseURLPrefix}${id}#:~:text=${encodeURIComponent(term)}/`
window.Million.navigate(
- new URL(`${BASE_URL.replace(/\/$/g, "")}${id}#:~:text=${encodeURIComponent(term)}/`),
+ new URL(urlString),
".singlePage",
)
closeSearch()
@@ -179,7 +181,7 @@
})
}
-const displayResults = (finalResults, extractHighlight = false) => {
+const displayResults = (term, finalResults, extractHighlight = false) => {
const results = document.getElementById("results-container")
if (finalResults.length === 0) {
results.innerHTML = `<button class="result-card">
@@ -189,18 +191,28 @@
} else {
results.innerHTML = finalResults
.map((result) => {
- if (extractHighlight) {
- return resultToHTML({
- url: result.url,
- title: highlight(result.title, term),
- content: highlight(removeMarkdown(result.content), term)
- })
- } else {
- return resultToHTML(result)
- }
+ if (extractHighlight) {
+ return resultToHTML({
+ url: result.url,
+ title: highlight(result.title, term),
+ content: highlight(removeMarkdown(result.content), term)
+ })
+ } else {
+ return resultToHTML(result)
}
+ }
)
.join("\n")
+ if (LATEX_ENABLED) {
+ renderMathInElement(results, {
+ delimiters: [
+ { left: '$$', right: '$$', display: false },
+ { left: '$', right: '$', display: false },
+ ],
+ throwOnError: false
+ })
+ }
+
const anchors = [...document.getElementsByClassName("result-card")]
anchors.forEach((anchor) => {
anchor.onclick = () => redir(anchor.id, term)
--
Gitblit v1.10.0