mirror of https://github.com/logseq/logseq
parent
0e4e02680e
commit
93dd107b8f
|
@ -67,11 +67,6 @@
|
||||||
(not (contains? supported-formats ext))))
|
(not (contains? supported-formats ext))))
|
||||||
value)))
|
value)))
|
||||||
|
|
||||||
(and
|
|
||||||
(= typ "Complex")
|
|
||||||
(= (:protocol value) "file")
|
|
||||||
(:link value))
|
|
||||||
|
|
||||||
(and
|
(and
|
||||||
(= typ "File")
|
(= typ "File")
|
||||||
(second (first (:label (second block)))))))
|
(second (first (:label (second block)))))))
|
||||||
|
@ -320,7 +315,7 @@
|
||||||
(let [refs (->> (concat tags refs [marker priority])
|
(let [refs (->> (concat tags refs [marker priority])
|
||||||
(remove string/blank?)
|
(remove string/blank?)
|
||||||
(distinct))
|
(distinct))
|
||||||
refs (atom refs)]
|
*refs (atom refs)]
|
||||||
(walk/prewalk
|
(walk/prewalk
|
||||||
(fn [form]
|
(fn [form]
|
||||||
;; skip custom queries
|
;; skip custom queries
|
||||||
|
@ -328,29 +323,29 @@
|
||||||
(= (first form) "Custom")
|
(= (first form) "Custom")
|
||||||
(= (second form) "query"))
|
(= (second form) "query"))
|
||||||
(when-let [page (get-page-reference form supported-formats)]
|
(when-let [page (get-page-reference form supported-formats)]
|
||||||
(swap! refs conj page))
|
(swap! *refs conj page))
|
||||||
(when-let [tag (get-tag form)]
|
(when-let [tag (get-tag form)]
|
||||||
(let [tag (text/page-ref-un-brackets! tag)]
|
(let [tag (text/page-ref-un-brackets! tag)]
|
||||||
(when (gp-util/tag-valid? tag)
|
(when (gp-util/tag-valid? tag)
|
||||||
(swap! refs conj tag))))
|
(swap! *refs conj tag))))
|
||||||
form))
|
form))
|
||||||
(concat title body))
|
(concat title body))
|
||||||
(let [refs (remove string/blank? @refs)
|
(swap! *refs #(remove string/blank? %))
|
||||||
children-pages (->> (mapcat (fn [p]
|
(let [children-pages (->> @*refs
|
||||||
|
(mapcat (fn [p]
|
||||||
(let [p (if (map? p)
|
(let [p (if (map? p)
|
||||||
(:block/original-name p)
|
(:block/original-name p)
|
||||||
p)]
|
p)]
|
||||||
(when (string? p)
|
(when (string? p)
|
||||||
(let [p (or (text/get-nested-page-name p) p)]
|
(let [p (or (text/get-nested-page-name p) p)]
|
||||||
(when (text/namespace-page? p)
|
(when (text/namespace-page? p)
|
||||||
(gp-util/split-namespace-pages p))))))
|
(gp-util/split-namespace-pages p)))))))
|
||||||
refs)
|
|
||||||
(remove string/blank?)
|
(remove string/blank?)
|
||||||
(distinct))
|
(distinct))
|
||||||
refs (->> (distinct (concat refs children-pages))
|
refs' (->> (distinct (concat @*refs children-pages))
|
||||||
(remove nil?))
|
(remove nil?)
|
||||||
refs (map (fn [ref] (page-name->map ref with-id? db true date-formatter)) refs)]
|
(map (fn [ref] (page-name->map ref with-id? db true date-formatter))))]
|
||||||
(assoc block :refs refs))))
|
(assoc block :refs refs'))))
|
||||||
|
|
||||||
(defn- with-block-refs
|
(defn- with-block-refs
|
||||||
[{:keys [title body] :as block}]
|
[{:keys [title body] :as block}]
|
||||||
|
|
|
@ -322,6 +322,23 @@
|
||||||
"title:: core.async"
|
"title:: core.async"
|
||||||
{})
|
{})
|
||||||
(is (= #{"core.async"}
|
(is (= #{"core.async"}
|
||||||
|
(->> (d/q '[:find (pull ?b [*])
|
||||||
|
:in $
|
||||||
|
:where [?b :block/name]]
|
||||||
|
@conn)
|
||||||
|
(map (comp :block/name first))
|
||||||
|
(remove built-in-pages)
|
||||||
|
set)))))
|
||||||
|
|
||||||
|
(testing "for file and web uris"
|
||||||
|
(let [conn (ldb/start-conn)
|
||||||
|
built-in-pages (set (map string/lower-case default-db/built-in-pages-names))]
|
||||||
|
(graph-parser/parse-file conn
|
||||||
|
"foo.md"
|
||||||
|
(str "- [Filename.txt](file:///E:/test/Filename.txt)\n"
|
||||||
|
"- [example](https://example.com)")
|
||||||
|
{})
|
||||||
|
(is (= #{"foo"}
|
||||||
(->> (d/q '[:find (pull ?b [*])
|
(->> (d/q '[:find (pull ?b [*])
|
||||||
:in $
|
:in $
|
||||||
:where [?b :block/name]]
|
:where [?b :block/name]]
|
||||||
|
|
Loading…
Reference in New Issue