diff --git a/deps/publishing/src/logseq/publishing/db.cljs b/deps/publishing/src/logseq/publishing/db.cljs index fe7c7e48c1..2f006bc094 100644 --- a/deps/publishing/src/logseq/publishing/db.cljs +++ b/deps/publishing/src/logseq/publishing/db.cljs @@ -3,21 +3,22 @@ (:require [datascript.core :as d] [logseq.db.rules :as rules] [clojure.set :as set] - [clojure.string :as string] - [frontend.handler.property.util :as pu])) + [clojure.string :as string])) (defn ^:api get-area-block-asset-url "Returns asset url for an area block used by pdf assets. This lives in this ns because it is used by this dep and needs to be independent from the frontend app" - [block page] - (when-some [props (and block page (:block/properties block))] - (when-some [uuid (:block/uuid block)] - (when-some [stamp (pu/lookup props :hl-stamp)] - (let [group-key (string/replace-first (:block/original-name page) #"^hls__" "") - hl-page (pu/lookup props :hl-page) - encoded-chars? (boolean (re-find #"(?i)%[0-9a-f]{2}" group-key)) - group-key (if encoded-chars? (js/encodeURI group-key) group-key)] - (str "./assets/" group-key "/" (str hl-page "_" uuid "_" stamp ".png"))))))) + ([block page] (get-area-block-asset-url block page {})) + ;; TODO: Add prop-lookup-fn support for db graphs and commandline publishing + ([block page {:keys [prop-lookup-fn] :or {prop-lookup-fn get}}] + (when-some [props (and block page (:block/properties block))] + (when-some [uuid (:block/uuid block)] + (when-some [stamp (prop-lookup-fn props :hl-stamp)] + (let [group-key (string/replace-first (:block/original-name page) #"^hls__" "") + hl-page (prop-lookup-fn props :hl-page) + encoded-chars? (boolean (re-find #"(?i)%[0-9a-f]{2}" group-key)) + group-key (if encoded-chars? (js/encodeURI group-key) group-key)] + (str "./assets/" group-key "/" (str hl-page "_" uuid "_" stamp ".png")))))))) (defn- clean-asset-path-prefix [path] diff --git a/src/main/frontend/extensions/pdf/utils.cljs b/src/main/frontend/extensions/pdf/utils.cljs index 969a021fbe..c8e1518497 100644 --- a/src/main/frontend/extensions/pdf/utils.cljs +++ b/src/main/frontend/extensions/pdf/utils.cljs @@ -5,7 +5,8 @@ ["/frontend/extensions/pdf/utils" :as js-utils] [datascript.core :as d] [logseq.publishing.db :as publish-db] - [clojure.string :as string])) + [clojure.string :as string] + [frontend.handler.property.util :as pu])) (defonce MAX-SCALE 5.0) (defonce MIN-SCALE 0.25) @@ -15,7 +16,8 @@ [filename] (and filename (string? filename) (string/starts-with? filename "hls__"))) -(def get-area-block-asset-url publish-db/get-area-block-asset-url) +(def get-area-block-asset-url + #(publish-db/get-area-block-asset-url %1 %2 {:prop-lookup-fn pu/lookup})) (defn get-bounding-rect [rects]