Skip to content

Commit 6114c61

Browse files
committed
dedupe process-blobs logic
1 parent fc73c13 commit 6114c61

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/nextjournal/clerk/viewer.cljc

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -493,14 +493,17 @@
493493
#_(nextjournal.clerk.builder/build-static-app! {:paths ["image.clj" "notebooks/image.clj" "notebooks/viewers/image.clj"] :browse? false})
494494

495495
#?(:clj
496-
(defn process-blobs [{:as doc+blob-opts :keys [blob-mode blob-id]} presented-result]
497-
(w/postwalk #(if-some [content-type (get-safe % :nextjournal/content-type)]
498-
(case blob-mode
499-
:lazy-load (assoc % :nextjournal/value {:blob-id blob-id :path (:path %)})
500-
:inline (update % :nextjournal/value data-uri-base64-encode content-type)
501-
:file (maybe-store-result-as-file doc+blob-opts %))
502-
%)
503-
presented-result)))
496+
(defn process-content [{:as blob-opts :keys [blob-mode blob-id]} node]
497+
(if-some [content-type (get-safe node :nextjournal/content-type)]
498+
(case blob-mode
499+
:lazy-load (assoc node :nextjournal/value {:blob-id blob-id :path (:path node)})
500+
:inline (update node :nextjournal/value data-uri-base64-encode content-type)
501+
:file (maybe-store-result-as-file blob-opts node))
502+
node)))
503+
504+
#?(:clj
505+
(defn process-blobs [blob-opts presented-result]
506+
(w/postwalk (partial process-content blob-opts) presented-result)))
504507

505508
(defn get-default-viewers []
506509
(:default @!viewers default-viewers))
@@ -546,14 +549,7 @@
546549
(= :directory package) :file
547550
blob-id :lazy-load)
548551
#?(:clj blob-opts :cljs _) (assoc doc :blob-mode blob-mode :blob-id blob-id)
549-
#?@(:clj [process-content-fn (when blob-mode
550-
(fn [node]
551-
(if-some [content-type (:nextjournal/content-type node)]
552-
(case blob-mode
553-
:lazy-load (assoc node :nextjournal/value {:blob-id blob-id :path (:path node)})
554-
:inline (update node :nextjournal/value data-uri-base64-encode content-type)
555-
:file (maybe-store-result-as-file blob-opts node))
556-
node)))])
552+
#?@(:clj [process-content-fn (when blob-mode (partial process-content blob-opts))])
557553
opts-from-block (-> settings
558554
(select-keys (keys viewer-opts-normalization))
559555
(set/rename-keys viewer-opts-normalization))

0 commit comments

Comments
 (0)