refactor: split up render-temml

This commit is contained in:
2026-02-26 13:40:35 -07:00
parent 49990228c9
commit 66586e6239
2 changed files with 16 additions and 7 deletions

View File

@@ -174,10 +174,9 @@
(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))]
(try (let [{:keys [value]} node
temml (tex/render-temml value)]
(if (tex/erroneous-temml-output? temml)
(let [tex (get @rendered-snippets value)]
(if (:errors tex)

View File

@@ -200,10 +200,20 @@
(.flush (:in *temml-worker*))
(cbor/decode cbor/default-codec (:out *temml-worker*)))
(defn render-temml [s & {:keys [display?]}]
(if display?
(command-temml-worker [s])
(command-temml-worker s)))
(defn render-temml-inline [s]
(command-temml-worker s))
(defn render-temml-display [s]
(command-temml-worker [s]))
(defn render-temml [s]
(if-let [[_ inner] (re-matches #"(?s)\\[(.*)\\]" s)]
(render-temml-display inner)
(if (re-matches #"(?s)\\begin\{.+?}(.*?)\\end\{.+?}" s)
(render-temml-display s)
(if-let [[_ inner] (re-matches #"(?s)\\\((.*)\\\)" s)]
(render-temml-inline s)
(throw (ex-info "weird" {:snippet s}))))))
;; hackky....
(defn erroneous-temml-output? [s]