This commit is contained in:
2026-02-26 11:15:05 -07:00
parent e67f62e5b0
commit ee86f0d643
2 changed files with 24 additions and 21 deletions

View File

@@ -542,3 +542,7 @@ figure.fullwidth figcaption {
; max-width: 55% ; max-width: 55%
; font-size: 1.5rem ; font-size: 1.5rem
} }
.latex-fragment
{ fill: currentColor
}

View File

@@ -138,27 +138,26 @@
(swap! promises #(conj % {:promise p :node node})) (swap! promises #(conj % {:promise p :node node}))
(assoc node ::rendered p))))) (assoc node ::rendered p)))))
f (fn [] f (fn []
(let [rendered-snippets (fs/with-temp-dir [svg-dir {:prefix "doerg-svg"}]
(delay (->> @promises (let [rendered-snippets
(map #(-> % :node :value)) (delay (->> @promises
(apply tex/render-xelatex (map #(-> % :node :value))
"/tmp/doerg-test/svg")))] (apply tex/render-xelatex svg-dir)))]
(def the-rendered-snippets rendered-snippets) (def the-rendered-snippets rendered-snippets)
(doseq [{:keys [promise node]} @promises] (doseq [{:keys [promise node]} @promises]
(try (let [{:keys [value contents]} node (try (let [{:keys [value contents]} node
temml (tex/render-temml (or contents value))] temml (tex/render-temml (or contents value))]
(if (tex/erroneous-temml-output? temml) (if (tex/erroneous-temml-output? temml)
(let [{:keys [file]} (get @rendered-snippets value)] (let [{:keys [file]} (get @rendered-snippets value)]
(deliver (deliver
promise promise
[:object.latex-fragment [:div.latex-fragment
{:data (format "svg/%s" (fs/file-name file)) (hiccup/raw (slurp file))]))
:type "image/svg+xml"}])) (deliver promise (hiccup/raw temml))))
(deliver promise (hiccup/raw temml)))) (catch Exception e
(catch Exception e (prn e)
(prn e) (flush)
(flush) (throw e)))))))]
(throw e))))))]
(future-call (bound-fn* f)) (future-call (bound-fn* f))
r)) r))