This commit is contained in:
@@ -542,3 +542,7 @@ figure.fullwidth figcaption {
|
||||
; max-width: 55%
|
||||
; font-size: 1.5rem
|
||||
}
|
||||
|
||||
.latex-fragment
|
||||
{ fill: currentColor
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user