From 028a17354788a61d2f4ea44cf823b68418f7f2d6 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 7 Jul 2020 14:45:50 +0800 Subject: [PATCH] Speedup initialization --- web/src/main/frontend/components/hiccup.cljs | 5 +- web/src/main/frontend/components/journal.cljs | 3 -- web/src/main/frontend/db.cljs | 50 +++++++++---------- web/src/main/frontend/handler.cljs | 4 +- 4 files changed, 30 insertions(+), 32 deletions(-) diff --git a/web/src/main/frontend/components/hiccup.cljs b/web/src/main/frontend/components/hiccup.cljs index 49063665d..233ae49fa 100644 --- a/web/src/main/frontend/components/hiccup.cljs +++ b/web/src/main/frontend/components/hiccup.cljs @@ -999,7 +999,10 @@ (try (match item ["Paragraph" l] - (->elem :p (map-inline config l)) + ;; TODO: speedup + (if (re-find #"\"Export_Snippet\" \"embed\"" (str l)) + (->elem :div (map-inline config l)) + (->elem :p (map-inline config l))) ["Horizontal_Rule"] (when-not (:slide? config) [:hr]) diff --git a/web/src/main/frontend/components/journal.cljs b/web/src/main/frontend/components/journal.cljs index a35098a1e..78187cc85 100644 --- a/web/src/main/frontend/components/journal.cljs +++ b/web/src/main/frontend/components/journal.cljs @@ -25,9 +25,6 @@ (when today? (let [raw-headings (db/get-page-headings repo page) headings (db/with-dummy-heading raw-headings format nil true)] - (prn {:today? today? - :raw-headings (count raw-headings) - :template (state/get-journal-template)}) (when (= 1 (count raw-headings)) (when-let [template (state/get-journal-template)] (handler/insert-new-heading! diff --git a/web/src/main/frontend/db.cljs b/web/src/main/frontend/db.cljs index 343c850b1..32deb6812 100644 --- a/web/src/main/frontend/db.cljs +++ b/web/src/main/frontend/db.cljs @@ -1288,11 +1288,13 @@ ffirst)) (defn reset-config! - [repo-url content] - (let [config (some->> content - (reader/read-string))] - (state/set-config! repo-url config) - config)) + ([repo-url] + (reset-config! repo-url (get-file repo-url config/config-file))) + ([repo-url content] + (when content + (let [config (reader/read-string content)] + (state/set-config! repo-url config) + config)))) (defn start-db-conn! [me repo listen-handler] @@ -1318,26 +1320,24 @@ (p/then (fn [result] result)) (p/catch (fn [error] - nil)))] - (when stored - (let [stored-db (string->db stored) - attached-db (d/db-with stored-db [(me-tx stored-db me)])] - (when (= (:schema stored-db) files-db-schema) ;; check for code update - (reset-conn! db-conn attached-db))))) - (p/then - (fn [] - (let [db-name (datascript-db repo) - db-conn (d/create-conn schema)] - (swap! conns assoc db-name db-conn) - (p/let [stored (.getItem localforage-instance db-name)] - (if stored - (let [stored-db (string->db stored) - attached-db (d/db-with stored-db [(me-tx stored-db me)])] - (when (= (:schema stored-db) schema) ;; check for code update - (reset-conn! db-conn attached-db))) - (d/transact! db-conn [(me-tx (d/db db-conn) me)])) - (listen-handler repo db-conn) - (restore-config-handler repo)))))))))) + nil))) + _ (when stored + (let [stored-db (string->db stored) + attached-db (d/db-with stored-db [(me-tx stored-db me)])] + (when (= (:schema stored-db) files-db-schema) ;; check for code update + (reset-conn! db-conn attached-db)))) + db-name (datascript-db repo) + db-conn (d/create-conn schema) + _ (swap! conns assoc db-name db-conn) + stored (.getItem localforage-instance db-name) + _ (if stored + (let [stored-db (string->db stored) + attached-db (d/db-with stored-db [(me-tx stored-db me)])] + (when (= (:schema stored-db) schema) ;; check for code update + (reset-conn! db-conn attached-db))) + (d/transact! db-conn [(me-tx (d/db db-conn) me)])) + _ (restore-config-handler repo)] + (listen-handler repo db-conn))))))) (defn- build-edges [edges] diff --git a/web/src/main/frontend/handler.cljs b/web/src/main/frontend/handler.cljs index 0ebe57d3d..932f03752 100644 --- a/web/src/main/frontend/handler.cljs +++ b/web/src/main/frontend/handler.cljs @@ -504,9 +504,7 @@ (defn restore-config! [repo-url] - (p/let [content (load-file repo-url config/config-file)] - (when content - (db/reset-config! repo-url content)))) + (db/reset-config! repo-url)) (defn alter-file [repo path content {:keys [reset? re-render-root?]