From 12a720354d3265de7ace0abd6b4225978b08914c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Marchal?= Date: Thu, 4 Sep 2025 23:35:53 +0200 Subject: [PATCH] Make the search work for CJK characters --- quartz/components/scripts/search.inline.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/quartz/components/scripts/search.inline.ts b/quartz/components/scripts/search.inline.ts index 27f74ec..a47acbf 100644 --- a/quartz/components/scripts/search.inline.ts +++ b/quartz/components/scripts/search.inline.ts @@ -1,4 +1,6 @@ +// import { FlexSearch, Charset } from "flexsearch" import FlexSearch from "flexsearch" +import Charset from "flexsearch" import { ContentDetails } from "../../plugins/emitters/contentIndex" import { registerEscapeHandler, removeAllChildren } from "./util" import { FullSlug, normalizeRelativeURLs, resolveRelative } from "../../util/path" @@ -15,10 +17,9 @@ interface Item { type SearchType = "basic" | "tags" let searchType: SearchType = "basic" let currentSearchTerm: string = "" -const encoder = (str: string) => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])/) let index = new FlexSearch.Document({ - charset: "latin:extra", - encode: encoder, + charset: "cjk:extra", + encode: Charset.CJK, document: { id: "id", tag: "tags",