mirror of https://github.com/logseq/logseq
wip whiteboard page
parent
0584edd4d8
commit
4de59c6d63
|
@ -88,6 +88,9 @@
|
|||
;; block's file
|
||||
:block/file {:db/valueType :db.type/ref}
|
||||
|
||||
;; whether page is a whiteboard
|
||||
:block/whiteboard? {}
|
||||
|
||||
;; file
|
||||
:file/path {:db/unique :db.unique/identity}
|
||||
;; only store the content of logseq's files
|
||||
|
|
|
@ -232,6 +232,7 @@
|
|||
|
||||
(defonce default-journals-directory "journals")
|
||||
(defonce default-pages-directory "pages")
|
||||
(defonce default-whiteboards-directory "whiteboards")
|
||||
|
||||
(defn get-pages-directory
|
||||
[]
|
||||
|
@ -241,6 +242,10 @@
|
|||
[]
|
||||
(or (state/get-journals-directory) default-journals-directory))
|
||||
|
||||
(defn get-whiteboards-directory
|
||||
[]
|
||||
(or (state/get-whiteboards-directory) default-whiteboards-directory))
|
||||
|
||||
(defonce local-repo "local")
|
||||
|
||||
(defn demo-graph?
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
[frontend.format.block :as block]
|
||||
[goog.functions :refer [debounce]]))
|
||||
|
||||
;; FIXME: add whiteboard
|
||||
(defn- get-directory
|
||||
[journal?]
|
||||
(if journal?
|
||||
|
@ -98,7 +99,9 @@
|
|||
(or
|
||||
(:block/original-name page)
|
||||
(:block/name page)))
|
||||
page (if (seq properties) (assoc page :block/properties properties) page)
|
||||
page (merge page
|
||||
(when (seq properties) {:block/properties properties})
|
||||
(when whiteboard? {:block/whiteboard? whiteboard?}))
|
||||
page-empty? (db/page-empty? (state/get-current-repo) (:block/name page))]
|
||||
(cond
|
||||
(not page-empty?)
|
||||
|
@ -123,7 +126,7 @@
|
|||
:uuid - when set, use this uuid instead of generating a new one."
|
||||
([title]
|
||||
(create! title {}))
|
||||
([title {:keys [redirect? create-first-block? format properties split-namespace? journal? whiteboard? uuid]
|
||||
([title {:keys [redirect? create-first-block? format properties split-namespace? journal? uuid whiteboard?]
|
||||
:or {redirect? true
|
||||
create-first-block? true
|
||||
format nil
|
||||
|
@ -148,11 +151,11 @@
|
|||
txs (->> pages
|
||||
;; for namespace pages, only last page need properties
|
||||
drop-last
|
||||
(mapcat #(build-page-tx format nil % journal?))
|
||||
(mapcat #(build-page-tx format nil % journal? whiteboard?))
|
||||
(remove nil?)
|
||||
(remove (fn [m]
|
||||
(some? (db/entity [:block/name (:block/name m)])))))
|
||||
last-txs (build-page-tx format properties (last pages) journal?)
|
||||
last-txs (build-page-tx format properties (last pages) journal? whiteboard?)
|
||||
txs (concat txs last-txs)]
|
||||
(when (seq txs)
|
||||
(db/transact! txs)))
|
||||
|
|
|
@ -159,6 +159,7 @@
|
|||
(let [last-part (last (string/split path "/"))]
|
||||
(contains? #{config/app-name
|
||||
gp-config/default-draw-directory
|
||||
(config/get-whiteboards-directory)
|
||||
(config/get-journals-directory)
|
||||
(config/get-pages-directory)}
|
||||
last-part)))))
|
||||
|
|
|
@ -113,20 +113,23 @@
|
|||
|
||||
(defn- transact-file-tx-if-not-exists!
|
||||
[page ok-handler]
|
||||
(println page)
|
||||
(when-let [repo (state/get-current-repo)]
|
||||
(when (:block/name page)
|
||||
(let [format (name (get page :block/format
|
||||
(state/get-preferred-format)))
|
||||
title (string/capitalize (:block/name page))
|
||||
whiteboard-page? (:block/whiteboard? page)
|
||||
journal-page? (date/valid-journal-title? title)
|
||||
filename (if journal-page?
|
||||
(date/date->file-name journal-page?)
|
||||
(-> (or (:block/original-name page) (:block/name page))
|
||||
(util/file-name-sanity)))
|
||||
path (str
|
||||
(if journal-page?
|
||||
(config/get-journals-directory)
|
||||
(config/get-pages-directory))
|
||||
(cond
|
||||
journal-page? (config/get-journals-directory)
|
||||
whiteboard-page? (config/get-whiteboards-directory)
|
||||
:else (config/get-pages-directory))
|
||||
"/"
|
||||
filename
|
||||
"."
|
||||
|
|
|
@ -457,6 +457,13 @@
|
|||
(:journals-directory (get-config repo)))
|
||||
"journals"))
|
||||
|
||||
(defn get-whiteboards-directory
|
||||
[]
|
||||
(or
|
||||
(when-let [repo (get-current-repo)]
|
||||
(:whiteboards-directory (get-config repo)))
|
||||
"whiteboards"))
|
||||
|
||||
(defn org-mode-file-link?
|
||||
[repo]
|
||||
(:org-mode/insert-file-link? (get-config repo)))
|
||||
|
|
Loading…
Reference in New Issue