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%
; font-size: 1.5rem
}
.latex-fragment
{ fill: currentColor
}

View File

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