feat: page content fts breadcrumb support

This commit is contained in:
Junyi
2022-11-24 03:02:01 +08:00
committed by Tienson Qin
parent 95d79877c0
commit cf655b3bdd
3 changed files with 8 additions and 5 deletions

View File

@@ -2497,12 +2497,14 @@
(rum/defc breadcrumb-separator [] [:span.mx-2.opacity-50 "➤"])
(defn breadcrumb
"block-id - uuid of the target block of breadcrumb. page uuid is also acceptable"
[config repo block-id {:keys [show-page? indent? end-separator? level-limit _navigating-block]
:or {show-page? true
level-limit 3}
:as opts}]
(let [parents (db/get-block-parents repo block-id (inc level-limit))
page (db/get-block-page repo block-id)
page (or (db/get-block-page repo block-id) ;; only return for block uuid
(model/query-block-by-uuid block-id)) ;; return page entity when received page uuid
page-name (:block/name page)
page-original-name (:block/original-name page)
show? (or (seq parents) show-page? page-name)

View File

@@ -67,10 +67,9 @@
"Return hiccup of highlighted page content FTS result"
[content q]
(when-not (or (string/blank? content) (string/blank? q))
[:div (loop [content content
[:div (loop [content content ;; why recur? because there might be multiple matches
result []]
(let [_ (prn "content" content "result" result)
[b-cut hl-cut e-cut] (text-util/cut-by content "$pfts_2lqh>$" "$<pfts_2lqh$")
(let [[b-cut hl-cut e-cut] (text-util/cut-by content "$pfts_2lqh>$" "$<pfts_2lqh$")
hiccups-add [(when-not (string/blank? b-cut)
[:span b-cut])
(when-not (string/blank? hl-cut)

View File

@@ -120,7 +120,9 @@
(defn cut-by
"Cut string by specifid wrapping symbols, only match the first occurrence.
value - string to cut"
value - string to cut
before - cutting symbol (before)
end - cutting symbol (end)"
[value before end]
(let [b-pos (string/index-of value before)
b-len (count before)]