mirror of https://github.com/logseq/logseq
Add built-in marker pages
parent
e9c4691feb
commit
41625296b5
|
@ -239,7 +239,7 @@
|
|||
(count prefix))))))
|
||||
|
||||
(def marker-pattern
|
||||
#"(NOW|LATER|TODO|DOING|DONE|WAIT|CANCELED|STARTED|IN-PROGRESS)?\s?")
|
||||
#"(NOW|LATER|TODO|DOING|DONE|WAIT|WAITING|CANCELED|STARTED|IN-PROGRESS)?\s?")
|
||||
|
||||
(defmethod handle-step :editor/set-marker [[_ marker] format]
|
||||
(when-let [input-id (state/get-edit-input-id)]
|
||||
|
|
|
@ -856,7 +856,7 @@
|
|||
:group-by-page? true)
|
||||
{:style {:margin-top "0.25rem"
|
||||
:margin-left "0.25rem"}})
|
||||
[:div.text-sm "Empty"])]))
|
||||
[:div.text-sm.mt-2 "Empty"])]))
|
||||
|
||||
(rum/defc admonition
|
||||
[config type options result]
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
(hiccup/custom-query {:start-level 2} {:query-title title}
|
||||
query)])]))))
|
||||
|
||||
(reference/references title false)]))
|
||||
(reference/references title false false)]))
|
||||
|
||||
(rum/defc journals <
|
||||
[latest-journals]
|
||||
|
|
|
@ -61,10 +61,20 @@
|
|||
page-name)
|
||||
page (db/entity repo [:page/name page-name])
|
||||
file (:page/file page)]
|
||||
(if (and sidebar? file (empty? raw-page-headings))
|
||||
(cond
|
||||
(db/marker-page? page-name)
|
||||
[:div
|
||||
[:h1.title
|
||||
(string/upper-case page-name)]
|
||||
[:div.ml-2
|
||||
(reference/references page-name false true)]]
|
||||
|
||||
(and sidebar? file (empty? raw-page-headings))
|
||||
(do
|
||||
(state/sidebar-remove-block! (:sidebar/idx option))
|
||||
[:div.text-sm "Empty"])
|
||||
|
||||
:else
|
||||
(let [file-path (and (:db/id file) (:file/path (db/entity repo (:db/id file))))
|
||||
content (db/get-file-no-sub repo file-path)
|
||||
page-headings (db/with-dummy-heading raw-page-headings format
|
||||
|
@ -185,7 +195,7 @@
|
|||
query)])])))
|
||||
|
||||
;; referenced headings
|
||||
(reference/references page-name false)]))))
|
||||
(reference/references page-name false false)]))))
|
||||
|
||||
(rum/defc all-pages < rum/reactive
|
||||
[]
|
||||
|
|
|
@ -13,13 +13,15 @@
|
|||
[frontend.db :as db]))
|
||||
|
||||
(rum/defc references < rum/reactive
|
||||
[page-or-tag-name tag?]
|
||||
[page-or-tag-name tag? marker?]
|
||||
(when page-or-tag-name
|
||||
(let [heading? (util/uuid-string? page-or-tag-name)
|
||||
heading-id (and heading? (uuid page-or-tag-name))
|
||||
page-or-tag-name (string/lower-case page-or-tag-name)
|
||||
encoded-page-or-tag-name (util/url-encode page-or-tag-name)
|
||||
ref-headings (cond
|
||||
marker?
|
||||
(db/get-marker-headings (state/get-current-repo) page-or-tag-name)
|
||||
tag?
|
||||
(db/get-tag-referenced-headings page-or-tag-name)
|
||||
heading-id
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
(when-let [tag (get-tag state)]
|
||||
[:div.tag
|
||||
[:h1.title (str "#" tag)]
|
||||
(reference/references tag true)]))
|
||||
(reference/references tag true false)]))
|
||||
|
||||
(defn render-graph
|
||||
[state]
|
||||
|
|
|
@ -770,19 +770,45 @@
|
|||
sorted (sort-by-pos result)]
|
||||
(with-repo repo-url sorted)))
|
||||
|
||||
(defn marker-page?
|
||||
[page]
|
||||
(contains?
|
||||
#{"NOW" "LATER" "TODO" "DOING"
|
||||
"DONE" "WAIT" "WAITING" "CANCELED" "STARTED" "IN-PROGRESS"}
|
||||
(string/upper-case page)))
|
||||
|
||||
(defn get-marker-headings
|
||||
[repo-url marker]
|
||||
(let [marker (string/upper-case marker)]
|
||||
(some->>
|
||||
(q repo-url [:marker/headings marker]
|
||||
{:use-cache? true}
|
||||
'[:find (pull ?h [*])
|
||||
:in $ ?marker
|
||||
:where
|
||||
[?h :heading/marker ?m]
|
||||
[(= ?marker ?m)]]
|
||||
marker)
|
||||
react
|
||||
seq-flatten
|
||||
sort-by-pos
|
||||
(with-repo repo-url)
|
||||
(group-by-page))))
|
||||
|
||||
(defn get-page-headings
|
||||
[repo-url page]
|
||||
(let [page-id (:db/id (entity repo-url [:page/name page]))]
|
||||
(some->
|
||||
(q repo-url [:page/headings page-id]
|
||||
{:use-cache? true
|
||||
:transform-fn #(page-headings-transform repo-url %)}
|
||||
'[:find (pull ?heading [*])
|
||||
:in $ ?page-id
|
||||
:where
|
||||
[?heading :heading/page ?page-id]]
|
||||
page-id)
|
||||
react)))
|
||||
(let [page (string/lower-case page)]
|
||||
(let [page-id (:db/id (entity repo-url [:page/name page]))]
|
||||
(some->
|
||||
(q repo-url [:page/headings page-id]
|
||||
{:use-cache? true
|
||||
:transform-fn #(page-headings-transform repo-url %)}
|
||||
'[:find (pull ?heading [*])
|
||||
:in $ ?page-id
|
||||
:where
|
||||
[?heading :heading/page ?page-id]]
|
||||
page-id)
|
||||
react))))
|
||||
|
||||
(defn heading-and-children-transform
|
||||
[result repo-url heading-uuid level]
|
||||
|
|
Loading…
Reference in New Issue