wip whiteboard page

pull/6112/head
Peng Xiao 2022-07-04 00:00:08 +08:00
parent 0584edd4d8
commit 4de59c6d63
6 changed files with 29 additions and 7 deletions

View File

@ -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

View File

@ -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?

View File

@ -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)))

View File

@ -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)))))

View File

@ -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
"."

View File

@ -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)))