This commit is contained in:
@@ -45,28 +45,28 @@
|
||||
(defn org-element-recursive
|
||||
"Recursively render an Org-mode element to Hiccup."
|
||||
[e]
|
||||
(tex/binding-tex-worker
|
||||
(->> e
|
||||
(sp/transform
|
||||
[element/postorder-walker view-children-as-seq]
|
||||
(fn [node]
|
||||
(try (org-element node)
|
||||
(catch Throwable e
|
||||
(lr/error e "Error in renderer" {:node node})
|
||||
(render-renderer-error e))))))))
|
||||
(->> e
|
||||
(sp/transform
|
||||
[element/postorder-walker view-children-as-seq]
|
||||
(fn [node]
|
||||
(try (org-element node)
|
||||
(catch Throwable e
|
||||
(lr/error e "Error in renderer" {:node node})
|
||||
(render-renderer-error e)))))))
|
||||
|
||||
(defn org-document
|
||||
"Recursively render an Org-mode document to Hiccup."
|
||||
[doc]
|
||||
(let [rendered (-> doc gather-footnotes render-tex-snippets
|
||||
org-element-recursive)]
|
||||
[:html
|
||||
[:head
|
||||
[:title "org document"]
|
||||
doerg-html/head]
|
||||
[:body
|
||||
[:article
|
||||
rendered]]]))
|
||||
(tex/binding-tex-worker
|
||||
(let [rendered (-> doc gather-footnotes render-tex-snippets
|
||||
org-element-recursive)]
|
||||
[:html
|
||||
[:head
|
||||
[:title "org document"]
|
||||
doerg-html/head]
|
||||
[:body
|
||||
[:article
|
||||
rendered]]])))
|
||||
|
||||
|
||||
;;; Further dispatching on `org-element`
|
||||
@@ -135,16 +135,24 @@
|
||||
(fn [node]
|
||||
(let [p (promise)]
|
||||
(swap! promises #(conj % {:promise p :node node}))
|
||||
(assoc node ::rendered p)))))]
|
||||
(future
|
||||
(println "run")
|
||||
(prn (count @promises))
|
||||
(Thread/sleep (* 1000 1))
|
||||
(doseq [[ix {:keys [promise node]}]
|
||||
(map (fn [i x] [i x]) (range) @promises)]
|
||||
(printf "what %d\n" ix)
|
||||
(flush)
|
||||
(deliver promise (str ix))))
|
||||
(assoc node ::rendered p)))))
|
||||
f (fn []
|
||||
(println "run")
|
||||
(prn (count @promises))
|
||||
(Thread/sleep (* 1000 1))
|
||||
(doseq [{:keys [promise node]} @promises]
|
||||
(try (let [{:keys [value]} node]
|
||||
(deliver promise (tex/render value)))
|
||||
(catch Throwable e
|
||||
(prn e)
|
||||
(flush))))
|
||||
#_
|
||||
(doseq [[ix {:keys [promise node]}]
|
||||
(map (fn [i x] [i x]) (range) @promises)]
|
||||
(printf "what %d\n" ix)
|
||||
(flush)
|
||||
(deliver promise (str ix))))]
|
||||
(future-call (bound-fn* f))
|
||||
r))
|
||||
|
||||
(comment
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
"/home/msyds/org/20251111182118-path_induction.org"
|
||||
#_
|
||||
"/home/msyds/org/20250512144715-natural_transformation_category_theory.org"
|
||||
"/home/msyds/org/20251021155921-path_action.org")
|
||||
#_
|
||||
"/home/msyds/org/20251021155921-path_action.org"
|
||||
"/tmp/t.org")
|
||||
|
||||
(defn- force-create-sym-link [path target]
|
||||
(fs/delete-if-exists path)
|
||||
|
||||
@@ -197,3 +197,7 @@
|
||||
(if display?
|
||||
(command [s])
|
||||
(command s)))
|
||||
|
||||
;; hackky....
|
||||
(defn erroneous-temml-output? [s]
|
||||
(re-find #"(#b22222|temml-error)" s))
|
||||
|
||||
Reference in New Issue
Block a user