refactor: split up render-temml
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user