Browse Source

enhance: enable basic markdown export

Dont include built-in entities which are a lot in db graph, except for
user facing ones like Contents
Gabriel Horner 10 months ago
parent
commit
5685fe5540
2 changed files with 12 additions and 5 deletions
  1. 1 1
      src/main/frontend/components/export.cljs
  2. 11 4
      src/main/frontend/worker/export.cljs

+ 1 - 1
src/main/frontend/components/export.cljs

@@ -117,7 +117,7 @@
           [:div
            [:a.font-medium {:on-click #(export/download-repo-as-html! current-repo)}
             (t :export-public-pages)]])
-        (when-not (or (mobile-util/native-platform?) db-based?)
+        (when-not (mobile-util/native-platform?)
           [:div
            [:a.font-medium {:on-click #(export-text/export-repo-as-markdown! current-repo)}
             (t :export-markdown)]])

+ 11 - 4
src/main/frontend/worker/export.cljs

@@ -6,7 +6,8 @@
             [logseq.db :as ldb]
             [logseq.db.sqlite.util :as sqlite-util]
             [logseq.graph-parser.property :as gp-property]
-            [logseq.outliner.tree :as otree]))
+            [logseq.outliner.tree :as otree]
+            [logseq.db.sqlite.create-graph :as sqlite-create-graph]))
 
 (defn- safe-keywordize
   [block]
@@ -46,9 +47,15 @@
 
 (defn get-all-page->content
   [repo db]
-  (->> (d/datoms db :avet :block/name)
-       (map (fn [d]
-              (let [e (d/entity db (:e d))]
+  (let [filter-fn (if (ldb/db-based-graph? db)
+                    (fn [ent]
+                      (or (not (:logseq.property/built-in? ent))
+                          (contains? sqlite-create-graph/built-in-pages-names (:block/title ent))))
+                    (constantly true))]
+    (->> (d/datoms db :avet :block/name)
+         (map #(d/entity db (:e %)))
+         (filter filter-fn)
+         (map (fn [e]
                 [(:block/title e)
                  (common-file/block->content repo db (:block/uuid e) {} {})])))))