Browse Source

enhance: put library page name to config to make it easier to rename

Tienson Qin 5 months ago
parent
commit
53e0d1a4ca

+ 1 - 0
deps/common/src/logseq/common/config.cljs

@@ -34,6 +34,7 @@
 
 (defonce favorites-page-name "$$$favorites")
 (defonce views-page-name "$$$views")
+(defonce library-page-name "Library")
 
 (defn local-asset?
   [s]

+ 2 - 1
deps/db/src/logseq/db.cljs

@@ -7,6 +7,7 @@
             [clojure.walk :as walk]
             [datascript.core :as d]
             [datascript.impl.entity :as de]
+            [logseq.common.config :as common-config]
             [logseq.common.util :as common-util]
             [logseq.common.uuid :as common-uuid]
             [logseq.db.common.delete-blocks :as delete-blocks] ;; Load entity extensions
@@ -259,7 +260,7 @@
 (defn library?
   [page]
   (and (built-in? page)
-       (= "Library" (:block/title page))))
+       (= common-config/library-page-name (:block/title page))))
 
 (defn get-case-page
   "Case sensitive version of get-page. For use with DB graphs"

+ 2 - 1
deps/db/src/logseq/db/frontend/db.cljs

@@ -3,6 +3,7 @@
   (:require [clojure.set :as set]
             [clojure.string :as string]
             [datascript.core :as d]
+            [logseq.common.config :as common-config]
             [logseq.common.util.namespace :as ns-util]
             [logseq.common.util.page-ref :as page-ref]
             [logseq.db.frontend.class :as db-class]
@@ -83,7 +84,7 @@
     (entity-util/page? entity)
     (let [parents' (->> (get-page-parents entity)
                         (remove (fn [e]
-                                  (and (:logseq.property/built-in? e) (= "Library" (:block/title e))))))]
+                                  (and (:logseq.property/built-in? e) (= common-config/library-page-name (:block/title e))))))]
       (string/join
        ns-util/parent-char
        (map :block/title (conj (vec parents') entity))))

+ 2 - 1
deps/db/src/logseq/db/sqlite/create_graph.cljs

@@ -128,7 +128,8 @@
      :properties (filter entity-util/property? properties-tx)}))
 
 (def built-in-pages-names
-  #{"Library" "Contents"})
+  #{common-config/library-page-name
+    "Contents"})
 
 (defn- validate-tx-for-duplicate-idents [tx]
   (when-let [conflicting-idents

+ 2 - 2
deps/graph-parser/src/logseq/graph_parser/exporter.cljs

@@ -431,7 +431,7 @@
              (set (->> db-class/built-in-classes
                        vals
                        (map :title)
-                       (concat ["Library"])
+                       (concat [common-config/library-page-name])
                        (map #(-> % string/lower-case keyword))))))
 
 (def file-built-in-property-names
@@ -1746,7 +1746,7 @@
 (defn- move-top-parent-pages-to-library
   [conn repo-or-conn]
   (let [db @conn
-        library-page (ldb/get-built-in-page db "Library")
+        library-page (ldb/get-built-in-page db common-config/library-page-name)
         library-id (:block/uuid library-page)
         top-parent-pages (->> (d/datoms db :avet :block/parent)
                               (keep (fn [d]

+ 3 - 1
src/main/frontend/components/container.cljs

@@ -48,6 +48,7 @@
             [frontend.version :refer [version]]
             [goog.dom :as gdom]
             [goog.object :as gobj]
+            [logseq.common.config :as common-config]
             [logseq.common.path :as path]
             [logseq.common.util.namespace :as ns-util]
             [logseq.db :as ldb]
@@ -159,7 +160,8 @@
                 (if (and parent
                          (not (or (ldb/class? page)
                                   (and (:logseq.property/built-in? parent)
-                                       (= (:block/title parent) "Library")))))
+                                       (= (:block/title parent)
+                                          common-config/library-page-name)))))
                   (str (:block/title parent) ns-util/parent-char title')
                   title')))]
 

+ 3 - 2
src/main/frontend/worker/db/migrate.cljs

@@ -5,6 +5,7 @@
             [datascript.core :as d]
             [datascript.impl.entity :as de]
             [frontend.worker.util :as worker-util]
+            [logseq.common.config :as common-config]
             [logseq.common.util :as common-util]
             [logseq.db :as ldb]
             [logseq.db.common.order :as db-order]
@@ -160,9 +161,9 @@
                                 [[:db/retract id old-p]
                                  [:db/add id new-p' prop-value]]))})
             rename-property-tx (f conn)
-            library-page (if-let [page (ldb/get-built-in-page db "Library")]
+            library-page (if-let [page (ldb/get-built-in-page db common-config/library-page-name)]
                            page
-                           (-> (sqlite-util/build-new-page "Library")
+                           (-> (sqlite-util/build-new-page common-config/library-page-name)
                                sqlite-create-graph/mark-block-as-built-in))
             library-id (:block/uuid library-page)
             library-page-tx (when-not (de/entity? library-page)

+ 2 - 1
src/main/frontend/worker/handler/page/db_based/page.cljs

@@ -3,6 +3,7 @@
   (:require [clojure.string :as string]
             [datascript.core :as d]
             [datascript.impl.entity :as de]
+            [logseq.common.config :as common-config]
             [logseq.common.util :as common-util]
             [logseq.common.util.namespace :as ns-util]
             [logseq.db :as ldb]
@@ -94,7 +95,7 @@
 (defn- page-with-parent-and-order
   "Apply to namespace pages"
   [db page & {:keys [parent]}]
-  (let [library (ldb/get-built-in-page db "Library")]
+  (let [library (ldb/get-built-in-page db common-config/library-page-name)]
     (when (nil? library)
       (throw (ex-info "Library page doesn't exist" {})))
     (assoc page

+ 4 - 3
src/test/frontend/worker/handler/page/db_based/page_test.cljs

@@ -2,9 +2,10 @@
   (:require [cljs.test :refer [deftest is testing]]
             [datascript.core :as d]
             [frontend.worker.handler.page.db-based.page :as worker-db-page]
+            [logseq.common.config :as common-config]
             [logseq.db :as ldb]
-            [logseq.db.test.helper :as db-test]
-            [logseq.db.frontend.db :as db-db]))
+            [logseq.db.frontend.db :as db-db]
+            [logseq.db.test.helper :as db-test]))
 
 (deftest create-class
   (let [conn (db-test/create-conn)
@@ -32,7 +33,7 @@
             ;; Create a child page for a class
             [_ child-uuid3] (worker-db-page/create! conn "c1/c2" {:split-namespace? true :class? true})
             child-page3 (d/entity @conn [:block/uuid child-uuid3])
-            library (ldb/get-built-in-page @conn "Library")
+            library (ldb/get-built-in-page @conn common-config/library-page-name)
             bar (ldb/get-page @conn "bar")]
         (is (= ["foo"] (map :block/title (:block/_parent library)))
             "Namespace (non-class) pages are added to the Library page")

+ 4 - 2
src/test/frontend/worker/migrate_test.cljs

@@ -1,8 +1,10 @@
 (ns frontend.worker.migrate-test
   (:require ["fs" :as fs-node]
             [cljs.test :refer [deftest is testing]]
+            [clojure.string :as string]
             [datascript.core :as d]
             [frontend.worker.db.migrate :as db-migrate]
+            [logseq.common.config :as common-config]
             [logseq.db :as ldb]))
 
 (deftest test-fix-rename-parent-to-extends
@@ -68,8 +70,8 @@
               [:db/add 141 :logseq.property.class/extends 1]
               [:db/retract 137 :logseq.property/parent]
               [:db/add 137 :logseq.property.class/extends 1]
-              {:block/name "library",
-               :block/title "Library",
+              {:block/name (string/lower-case common-config/library-page-name),
+               :block/title common-config/library-page-name,
                :block/uuid #uuid "00000004-1294-7765-6000-000000000000",
                :block/tags #{:logseq.class/Page},
                :logseq.property/built-in? true}