From 43101c3c435cde782e1113771d3db230862cea80 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Wed, 26 May 2021 12:55:41 +0800 Subject: [PATCH] fix: nested page properties extracting --- src/main/frontend/text.cljs | 11 +++++++---- src/test/frontend/format/block_test.cljs | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/frontend/text.cljs b/src/main/frontend/text.cljs index 846c9f120..0cee1c39c 100644 --- a/src/main/frontend/text.cljs +++ b/src/main/frontend/text.cljs @@ -93,10 +93,13 @@ (or (util/safe-re-find page-ref-re s) (util/safe-re-find #"[\,|,|#]+" s))) (let [result (->> (string/split s page-ref-re-2) - (map (fn [s] (if (string/ends-with? (string/trimr s) "]],") - (let [s (string/trimr s)] - (subs s 0 (dec (count s)))) - s))) + (mapcat (fn [s] (if (string/includes? (string/trimr s) "]],") + (let [idx (string/index-of s "]],")] + [(subs s 0 idx) + "]]" + (subs s (+ idx 3))]) + [s]))) + (remove #(= % "")) (mapcat (fn [s] (if (string/ends-with? s "]]") [(subs s 0 (- (count s) 2)) "]]"] diff --git a/src/test/frontend/format/block_test.cljs b/src/test/frontend/format/block_test.cljs index 940c56de1..2c392b7ca 100644 --- a/src/test/frontend/format/block_test.cljs +++ b/src/test/frontend/format/block_test.cljs @@ -28,6 +28,8 @@ [["year" "\"1000\""]] [] [["foo" "[[bar]] test"]] ["bar" "test"] [["foo" "[[bar]] test [[baz]]"]] ["bar" "test" "baz"] - [["foo" "[[bar]] test [[baz]] [[nested [[baz]]]]"]] ["bar" "test" "baz" "nested [[baz]]"])) + [["foo" "[[bar]] test [[baz]] [[nested [[baz]]]]"]] ["bar" "test" "baz" "nested [[baz]]"] + [["foo" "#bar, #baz"]] ["bar" "baz"] + [["foo" "[[nested [[page]]]], test"]] ["nested [[page]]" "test"])) #_(run-tests)