fix: add default titles for some pages

This commit is contained in:
Tienson Qin
2021-07-08 00:45:46 +08:00
parent 904d9a6552
commit 4bef38346a
6 changed files with 60 additions and 36 deletions

View File

@@ -683,6 +683,38 @@
(when (db/page-empty? (state/get-current-repo) (:db/id page))
(api-insert-new-block! "" {:page page-name})))))
(defn default-properties-block
[title format page]
(let [properties (common-handler/get-page-default-properties title)
content (property/build-properties-str format properties)]
{:block/pre-block? true
:block/uuid (db/new-block-id)
:block/properties properties
:block/left page
:block/format format
:block/content content
:block/parent page
:block/unordered true
:block/page page}))
(defn add-default-title-property-if-needed!
[page-name]
(when (string? page-name)
(when-let [page (db/entity [:block/name (string/lower-case page-name)])]
(when (db/page-empty? (state/get-current-repo) (:db/id page))
(let [title (or (:block/original-name page)
(:block/name page))
format (get page :block/format :markdown)
create-title-property? (util/create-title-property? title)]
(when create-title-property?
(let [default-properties (default-properties-block title format (:db/id page))
new-empty-block (-> (dissoc default-properties :block/pre-block? :block/uuid :block/left :block/properties)
(assoc :block/uuid (db/new-block-id)
:block/content ""
:block/left [:block/uuid (:block/uuid default-properties)]))]
(db/transact! [default-properties new-empty-block])
true)))))))
(defn update-timestamps-content!
[{:block/keys [repeated? marker format] :as block} content]
(if repeated?