From c8864e777d0a6aa237c015c18ac2844fab357b59 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Thu, 21 Jul 2022 13:59:16 -0400 Subject: [PATCH 1/2] Fix page-properties not using :property-pages/* config --- .../src/logseq/graph_parser/block.cljs | 8 +++---- .../logseq/graph_parser/extract_test.cljs | 21 ++++++++++++++++--- src/main/frontend/handler/editor.cljs | 6 ++++-- src/main/frontend/handler/page.cljs | 6 ++++-- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/deps/graph-parser/src/logseq/graph_parser/block.cljs b/deps/graph-parser/src/logseq/graph_parser/block.cljs index 239f7910d6..3878c2fb01 100644 --- a/deps/graph-parser/src/logseq/graph_parser/block.cljs +++ b/deps/graph-parser/src/logseq/graph_parser/block.cljs @@ -480,8 +480,8 @@ (d/squuid))) (defn get-page-refs-from-properties - [format properties db date-formatter] - (let [page-refs (get-page-ref-names-from-properties format properties {})] + [format properties db date-formatter user-config] + (let [page-refs (get-page-ref-names-from-properties format properties user-config)] (map (fn [page] (page-name->map page true db true date-formatter)) page-refs))) (defn- with-page-block-refs @@ -493,7 +493,7 @@ (update :refs (fn [col] (remove nil? col))))) (defn- with-pre-block-if-exists - [blocks body pre-block-properties encoded-content {:keys [supported-formats db date-formatter]}] + [blocks body pre-block-properties encoded-content {:keys [supported-formats db date-formatter user-config]}] (let [first-block (first blocks) format (or (:block/format first-block) :markdown) first-block-start-pos (get-in first-block [:block/meta :start_pos]) @@ -506,7 +506,7 @@ (let [content (utf8/substring encoded-content 0 first-block-start-pos) {:keys [properties properties-order]} pre-block-properties id (get-custom-id-or-new-id {:properties properties}) - property-refs (->> (get-page-refs-from-properties format properties db date-formatter) + property-refs (->> (get-page-refs-from-properties format properties db date-formatter user-config) (map :block/original-name)) block {:uuid id :content content diff --git a/deps/graph-parser/test/logseq/graph_parser/extract_test.cljs b/deps/graph-parser/test/logseq/graph_parser/extract_test.cljs index 605d9ad9d3..eda8466ad7 100644 --- a/deps/graph-parser/test/logseq/graph_parser/extract_test.cljs +++ b/deps/graph-parser/test/logseq/graph_parser/extract_test.cljs @@ -1,19 +1,19 @@ (ns logseq.graph-parser.extract-test - (:require [cljs.test :refer [deftest is]] + (:require [cljs.test :refer [deftest is are]] [logseq.graph-parser.extract :as extract] [clojure.pprint :as pprint])) (defn- extract [text] (let [{:keys [blocks]} (extract/extract "a.md" text {:block-pattern "-"}) - lefts (map (juxt :block/parent :block/left) blocks)] + lefts (map (juxt :block/parent :block/left) blocks)] (if (not= (count lefts) (count (distinct lefts))) (do (pprint/pprint (map (fn [x] (select-keys x [:block/uuid :block/level :block/content :block/left])) blocks)) (throw (js/Error. ":block/parent && :block/left conflicts"))) (mapv :block/content blocks)))) -(deftest test-extract +(deftest extract-blocks-for-headings [] (is (= ["a" "b" "c"] (extract @@ -41,6 +41,21 @@ - i - j")))) +(deftest extract-blocks-with-property-pages-config + [] + (are [extract-args expected-refs] + (= expected-refs + (->> (apply extract/extract extract-args) + :blocks + (mapcat #(->> % :block/refs (map :block/name))) + set)) + + ["a.md" "foo:: #bar\nbaz:: #bing" {:block-pattern "-" :user-config {:property-pages/enabled? true}}] + #{"bar" "bing" "foo" "baz"} + + ["a.md" "foo:: #bar\nbaz:: #bing" {:block-pattern "-" :user-config {:property-pages/enabled? false}}] + #{"bar" "bing"})) + (deftest test-regression-1902 [] (is (= ["line1" "line2" "line3" "line4"] diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index e89730b20b..7cde55dd18 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -660,9 +660,11 @@ (defn properties-block [properties format page] (let [content (property/insert-properties format "" properties) - refs (gp-block/get-page-refs-from-properties format properties + refs (gp-block/get-page-refs-from-properties format + properties (db/get-db (state/get-current-repo)) - (state/get-date-formatter))] + (state/get-date-formatter) + (state/get-config))] {:block/pre-block? true :block/uuid (db/new-block-id) :block/properties properties diff --git a/src/main/frontend/handler/page.cljs b/src/main/frontend/handler/page.cljs index 2cfdcf63ed..34e0c92613 100644 --- a/src/main/frontend/handler/page.cljs +++ b/src/main/frontend/handler/page.cljs @@ -74,9 +74,11 @@ (let [p (common-handler/get-page-default-properties title) ps (merge p properties) content (page-property/insert-properties format "" ps) - refs (gp-block/get-page-refs-from-properties format properties + refs (gp-block/get-page-refs-from-properties format + properties (db/get-db (state/get-current-repo)) - (state/get-date-formatter))] + (state/get-date-formatter) + (state/get-config))] {:block/uuid (db/new-block-id) :block/properties ps :block/properties-order (keys ps) From 48be2c9990ef22157d1bcd565dcd90e32b573fd1 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Thu, 21 Jul 2022 14:32:40 -0400 Subject: [PATCH 2/2] Update to latest nbb-logseq --- deps/db/package.json | 2 +- deps/db/yarn.lock | 8 ++++---- deps/graph-parser/package.json | 2 +- deps/graph-parser/src/logseq/graph_parser/extract.cljc | 9 +++------ deps/graph-parser/yarn.lock | 8 ++++---- 5 files changed, 13 insertions(+), 16 deletions(-) diff --git a/deps/db/package.json b/deps/db/package.json index b74281b4eb..7f5daa781a 100644 --- a/deps/db/package.json +++ b/deps/db/package.json @@ -3,6 +3,6 @@ "version": "1.0.0", "private": true, "devDependencies": { - "@logseq/nbb-logseq": "^0.5.103" + "@logseq/nbb-logseq": "^0.6.125" } } diff --git a/deps/db/yarn.lock b/deps/db/yarn.lock index 9d990443ad..be9aa6fbdb 100644 --- a/deps/db/yarn.lock +++ b/deps/db/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@logseq/nbb-logseq@^0.5.103": - version "0.5.103" - resolved "https://registry.yarnpkg.com/@logseq/nbb-logseq/-/nbb-logseq-0.5.103.tgz#1084380cd54c92ca8cc94a8934cc777206e45cc0" - integrity sha512-V9UW0XrCaaadHUc6/Hp9wfGpQqkzqzoqnDGeSVZkWR6l3QwyqGi9mkhnhVcfTwAvxIfOgrfz93GcaeepV4pYNA== +"@logseq/nbb-logseq@^0.6.125": + version "0.6.125" + resolved "https://registry.yarnpkg.com/@logseq/nbb-logseq/-/nbb-logseq-0.6.125.tgz#197dbb01040f9cfdf7040399b9fbed9b862dee5b" + integrity sha512-1UB4Urt6O95Cwwni68B/f05x+wsL+ju+dCGLE47WTvF9F8WQwhiADfWhMbFOt35ImswLSzM1rgVGIMIj0g6fkQ== dependencies: import-meta-resolve "^1.1.1" diff --git a/deps/graph-parser/package.json b/deps/graph-parser/package.json index bd6d48823c..f091c7cf5e 100644 --- a/deps/graph-parser/package.json +++ b/deps/graph-parser/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "private": true, "devDependencies": { - "@logseq/nbb-logseq": "^0.5.103" + "@logseq/nbb-logseq": "^0.6.125" }, "dependencies": { "mldoc": "^1.3.9" diff --git a/deps/graph-parser/src/logseq/graph_parser/extract.cljc b/deps/graph-parser/src/logseq/graph_parser/extract.cljc index 518fda5c2f..a3cc0ec3ef 100644 --- a/deps/graph-parser/src/logseq/graph_parser/extract.cljc +++ b/deps/graph-parser/src/logseq/graph_parser/extract.cljc @@ -190,9 +190,6 @@ (map (partial apply merge)) (with-block-uuid)))) -#?(:org.babashka/nbb - (alter-var-root #'gp-mldoc/parse-property (constantly text/parse-property)) - :default - ;; TODO: Properly fix this circular dependency: - ;; mldoc/->edn > text/parse-property > mldoc/link? ->mldoc/inline->edn + mldoc/default-config - (set! gp-mldoc/parse-property text/parse-property)) +;; TODO: Properly fix this circular dependency: +;; mldoc/->edn > text/parse-property > mldoc/link? ->mldoc/inline->edn + mldoc/default-config +(set! gp-mldoc/parse-property text/parse-property) diff --git a/deps/graph-parser/yarn.lock b/deps/graph-parser/yarn.lock index 3788c58ee5..43f05c3e70 100644 --- a/deps/graph-parser/yarn.lock +++ b/deps/graph-parser/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@logseq/nbb-logseq@^0.5.103": - version "0.5.103" - resolved "https://registry.yarnpkg.com/@logseq/nbb-logseq/-/nbb-logseq-0.5.103.tgz#1084380cd54c92ca8cc94a8934cc777206e45cc0" - integrity sha512-V9UW0XrCaaadHUc6/Hp9wfGpQqkzqzoqnDGeSVZkWR6l3QwyqGi9mkhnhVcfTwAvxIfOgrfz93GcaeepV4pYNA== +"@logseq/nbb-logseq@^0.6.125": + version "0.6.125" + resolved "https://registry.yarnpkg.com/@logseq/nbb-logseq/-/nbb-logseq-0.6.125.tgz#197dbb01040f9cfdf7040399b9fbed9b862dee5b" + integrity sha512-1UB4Urt6O95Cwwni68B/f05x+wsL+ju+dCGLE47WTvF9F8WQwhiADfWhMbFOt35ImswLSzM1rgVGIMIj0g6fkQ== dependencies: import-meta-resolve "^1.1.1"