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 (delay (->> @promises
(map #(-> % :node :value)) (map #(-> % :node :value))
(apply tex/render-xelatex svg-dir)))] (apply tex/render-xelatex svg-dir)))]
(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]} node
temml (tex/render-temml (or contents value))] temml (tex/render-temml value)]
(if (tex/erroneous-temml-output? temml) (if (tex/erroneous-temml-output? temml)
(let [tex (get @rendered-snippets value)] (let [tex (get @rendered-snippets value)]
(if (:errors tex) (if (:errors tex)

View File

@@ -200,10 +200,20 @@
(.flush (:in *temml-worker*)) (.flush (:in *temml-worker*))
(cbor/decode cbor/default-codec (:out *temml-worker*))) (cbor/decode cbor/default-codec (:out *temml-worker*)))
(defn render-temml [s & {:keys [display?]}] (defn render-temml-inline [s]
(if display? (command-temml-worker s))
(command-temml-worker [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.... ;; hackky....
(defn erroneous-temml-output? [s] (defn erroneous-temml-output? [s]