fix: non-unicode character in popover and search #67, #68

This commit is contained in:
Jacky Zhao 2022-04-02 12:59:38 -07:00
parent 3674df48b8
commit 1ddd15afc6
7 changed files with 236 additions and 247 deletions

View File

@ -12,7 +12,7 @@ jobs:
- uses: actions/checkout@v2
- name: Build Link Index
uses: jackyzha0/hugo-obsidian@v2.10
uses: jackyzha0/hugo-obsidian@v2.11
with:
index: true
input: content

View File

@ -12,7 +12,6 @@ function initPopover(baseURL) {
const links = [...document.getElementsByClassName("internal-link")]
links.forEach(li => {
const linkDest = content[li.dataset.src.replace(basePath, "")]
// const linkDest = content[li.dataset.src]
if (linkDest) {
const popoverElement = `<div class="popover">
<h3>${linkDest.title}</h3>

View File

@ -58,27 +58,21 @@ const removeMarkdown = (
};
// -----
(async function () {
(async function() {
const encoder = str => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])+/)
const contentIndex = new FlexSearch.Document({
cache: true,
charset: "latin:extra",
optimize: true,
worker: true,
document: {
index: [{
field: "content",
tokenize: "strict",
context: {
resolution: 5,
depth: 3,
bidirectional: true
},
suggest: true,
tokenize: "reverse",
encode: encoder,
}, {
field: "title",
tokenize: "forward",
encode: encoder,
}]
}
})
const { content } = await fetchData
@ -158,17 +152,16 @@ const removeMarkdown = (
})
source.addEventListener('input', (e) => {
term = e.target.value
contentIndex.search(term, [
const searchResults = contentIndex.search(term, [
{
field: "content",
limit: 10,
suggest: true,
},
{
field: "title",
limit: 5,
}
]).then(searchResults => {
])
const getByField = field => {
const results = searchResults.filter(x => x.field === field)
if (results.length === 0) {
@ -199,7 +192,6 @@ const removeMarkdown = (
})
}
})
})
const searchContainer = document.getElementById("search-container")
@ -220,7 +212,7 @@ const removeMarkdown = (
}
document.addEventListener('keydown', (event) => {
if (event.key === "/") {
if (event.key === "k" && (event.ctrlKey || event.metaKey)) {
event.preventDefault()
openSearch()
}

View File

@ -24,4 +24,3 @@ If you prefer browsing the contents of this site through a list instead of a gra
- 🚧 [Troubleshooting and FAQ](notes/troubleshooting.md)
- 🐛 [Submit an Issue](https://github.com/jackyzha0/quartz/issues)
- 👀 [Discord Community](https://discord.gg/cRFFHYye7t)

View File

@ -28,8 +28,7 @@
{{ .TableOfContents }}
</aside>
{{end}}
{{.Content}}
{{.Content | safeHTML}}
</article>
{{partial "footer.html" .}}
{{partial "popover.html" .}}

View File

@ -19,7 +19,7 @@
{{ .TableOfContents }}
</aside>
{{end}}
{{- .Content -}}
{{.Content | safeHTML}}
</article>
{{partial "footer.html" .}}
{{partial "popover.html" .}}

View File

@ -2,7 +2,7 @@
<ul class="backlinks">
{{$url := urls.Parse .Site.BaseURL }}
{{$host := strings.TrimRight "/" $url.Path }}
{{$curPage := strings.TrimPrefix $host (strings.TrimRight "/" .Page.RelPermalink) }}
{{$curPage := strings.TrimPrefix $host (strings.TrimRight "/" .Page.RelPermalink)}}
{{$linkIndex := getJSON "/assets/indices/linkIndex.json"}}
{{$inbound := index $linkIndex.index.backlinks $curPage}}
{{$contentTable := getJSON "/assets/indices/contentIndex.json"}}