mirror of https://github.com/logseq/logseq
fix: respect user's preferred format for a specific repo
parent
01682c6275
commit
553b1079b1
|
@ -3,7 +3,7 @@
|
|||
@import "./reveal.min.css";
|
||||
@import "./reveal_black.min.css";
|
||||
@import "./katex.min.css";
|
||||
@import "./tailwind.build.css"; /* Build by gulp. Check `_buildTailwind` for more detail */
|
||||
@import "../../static/css/tailwind.build.css"; /* Build by gulp. Check `_buildTailwind` for more detail */
|
||||
@import "./common.css";
|
||||
@import "./datepicker.css";
|
||||
@import "./highlight.css";
|
||||
|
|
|
@ -29,59 +29,6 @@
|
|||
;; 1. User changes the config.edn directly in logseq.com (fn: alter-file)
|
||||
;; 2. Git pulls the new change (fn: load-files)
|
||||
|
||||
(defn load-repo-to-db!
|
||||
[repo-url diffs first-clone?]
|
||||
(let [load-contents (fn [files delete-files delete-blocks re-render?]
|
||||
(file-handler/load-files-contents!
|
||||
repo-url
|
||||
files
|
||||
(fn [contents]
|
||||
(state/set-state! :repo/loading-files? false)
|
||||
(state/set-state! :repo/importing-to-db? true)
|
||||
(let [parsed-files (filter
|
||||
(fn [[file _]]
|
||||
(let [format (format/get-format file)]
|
||||
(contains? config/mldoc-support-formats format)))
|
||||
contents)
|
||||
blocks-pages (if (seq parsed-files)
|
||||
(db/extract-all-blocks-pages repo-url parsed-files)
|
||||
[])]
|
||||
(db/reset-contents-and-blocks! repo-url contents blocks-pages delete-files delete-blocks)
|
||||
(let [config-file (str config/app-name "/" config/config-file)]
|
||||
(when (contains? (set files) config-file)
|
||||
(when-let [content (get contents config-file)]
|
||||
(file-handler/restore-config! repo-url content true))))
|
||||
;; (let [metadata-file (str config/app-name "/" config/metadata-file)]
|
||||
;; (when (contains? (set files) metadata-file)
|
||||
;; (when-let [content (get contents metadata-file)]
|
||||
;; (let [{:keys [tx-data]} (reader/read-string content)]
|
||||
;; (db/transact! repo-url tx-data)))))
|
||||
(state/set-state! :repo/importing-to-db? false)
|
||||
(when re-render?
|
||||
(ui-handler/re-render-root!))))))]
|
||||
(if first-clone?
|
||||
(->
|
||||
(p/let [files (file-handler/load-files repo-url)]
|
||||
(load-contents files nil nil false))
|
||||
(p/catch (fn [error]
|
||||
(println "loading files failed: ")
|
||||
(js/console.dir error)
|
||||
(state/set-state! :repo/loading-files? false))))
|
||||
(when (seq diffs)
|
||||
(let [filter-diffs (fn [type] (->> (filter (fn [f] (= type (:type f))) diffs)
|
||||
(map :path)))
|
||||
remove-files (filter-diffs "remove")
|
||||
modify-files (filter-diffs "modify")
|
||||
add-files (filter-diffs "add")
|
||||
delete-files (if (seq remove-files)
|
||||
(db/delete-files remove-files))
|
||||
delete-blocks (db/delete-blocks repo-url (concat remove-files modify-files))
|
||||
delete-pages (if (seq remove-files)
|
||||
(db/delete-pages-by-files remove-files)
|
||||
[])
|
||||
add-or-modify-files (util/remove-nils (concat add-files modify-files))]
|
||||
(load-contents add-or-modify-files (concat delete-files delete-pages) delete-blocks true))))))
|
||||
|
||||
(defn show-install-error!
|
||||
[repo-url title]
|
||||
(notification/show!
|
||||
|
@ -196,7 +143,7 @@
|
|||
(create-today-journal-if-not-exists repo-url nil))
|
||||
([repo-url content]
|
||||
(let [repo-dir (util/get-repo-dir repo-url)
|
||||
format (state/get-preferred-format)
|
||||
format (state/get-preferred-format repo-url)
|
||||
title (date/today)
|
||||
file-name (date/journal-title->default title)
|
||||
default-content (util/default-content-with-title format title false)
|
||||
|
@ -240,6 +187,55 @@
|
|||
(create-today-journal-if-not-exists repo-url)
|
||||
(create-contents-file repo-url)))
|
||||
|
||||
(defn load-repo-to-db!
|
||||
[repo-url diffs first-clone?]
|
||||
(let [load-contents (fn [files delete-files delete-blocks re-render?]
|
||||
(file-handler/load-files-contents!
|
||||
repo-url
|
||||
files
|
||||
(fn [contents]
|
||||
(state/set-state! :repo/loading-files? false)
|
||||
(state/set-state! :repo/importing-to-db? true)
|
||||
(let [parsed-files (filter
|
||||
(fn [[file _]]
|
||||
(let [format (format/get-format file)]
|
||||
(contains? config/mldoc-support-formats format)))
|
||||
contents)
|
||||
blocks-pages (if (seq parsed-files)
|
||||
(db/extract-all-blocks-pages repo-url parsed-files)
|
||||
[])]
|
||||
(db/reset-contents-and-blocks! repo-url contents blocks-pages delete-files delete-blocks)
|
||||
(let [config-file (str config/app-name "/" config/config-file)]
|
||||
(if (contains? (set files) config-file)
|
||||
(when-let [content (get contents config-file)]
|
||||
(file-handler/restore-config! repo-url content true))))
|
||||
(when first-clone? (create-default-files! repo-url))
|
||||
(state/set-state! :repo/importing-to-db? false)
|
||||
(when re-render?
|
||||
(ui-handler/re-render-root!))))))]
|
||||
(if first-clone?
|
||||
(->
|
||||
(p/let [files (file-handler/load-files repo-url)]
|
||||
(load-contents files nil nil false))
|
||||
(p/catch (fn [error]
|
||||
(println "loading files failed: ")
|
||||
(js/console.dir error)
|
||||
(state/set-state! :repo/loading-files? false))))
|
||||
(when (seq diffs)
|
||||
(let [filter-diffs (fn [type] (->> (filter (fn [f] (= type (:type f))) diffs)
|
||||
(map :path)))
|
||||
remove-files (filter-diffs "remove")
|
||||
modify-files (filter-diffs "modify")
|
||||
add-files (filter-diffs "add")
|
||||
delete-files (if (seq remove-files)
|
||||
(db/delete-files remove-files))
|
||||
delete-blocks (db/delete-blocks repo-url (concat remove-files modify-files))
|
||||
delete-pages (if (seq remove-files)
|
||||
(db/delete-pages-by-files remove-files)
|
||||
[])
|
||||
add-or-modify-files (util/remove-nils (concat add-files modify-files))]
|
||||
(load-contents add-or-modify-files (concat delete-files delete-pages) delete-blocks true))))))
|
||||
|
||||
(defn persist-repo!
|
||||
[repo]
|
||||
(when-let [files-conn (db/get-files-conn repo)]
|
||||
|
@ -251,9 +247,6 @@
|
|||
[repo-url diffs first-clone?]
|
||||
(when (or diffs first-clone?)
|
||||
(p/let [_ (load-repo-to-db! repo-url diffs first-clone?)]
|
||||
(when first-clone?
|
||||
(create-default-files! repo-url))
|
||||
|
||||
(when first-clone?
|
||||
(migration-handler/show!)))))
|
||||
|
||||
|
|
|
@ -167,13 +167,15 @@
|
|||
(some? (:page (get-default-home))))
|
||||
|
||||
(defn get-preferred-format
|
||||
[]
|
||||
(keyword
|
||||
(or
|
||||
(when-let [fmt (:preferred-format (get-config))]
|
||||
(string/lower-case (name fmt)))
|
||||
([]
|
||||
(get-preferred-format (get-current-repo)))
|
||||
([repo-url]
|
||||
(keyword
|
||||
(or
|
||||
(when-let [fmt (:preferred-format (get-config repo-url))]
|
||||
(string/lower-case (name fmt)))
|
||||
|
||||
(get-in @state [:me :preferred_format] "markdown"))))
|
||||
(get-in @state [:me :preferred_format] "markdown")))))
|
||||
|
||||
(defn get-preferred-workflow
|
||||
[]
|
||||
|
@ -275,7 +277,7 @@
|
|||
;; (remove #(= leader-parent %)))]
|
||||
;; (prn "followers: " (count followers))
|
||||
;; ))
|
||||
))
|
||||
))
|
||||
|
||||
(defn get-edit-input-id
|
||||
[]
|
||||
|
|
Loading…
Reference in New Issue