-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathrender_alias_migration.clj
38 lines (34 loc) · 1.9 KB
/
render_alias_migration.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(ns render-alias-migration
(:require [nextjournal.clerk :as clerk]))
(clerk/with-viewer {:render-fn 'v/html :transform-fn clerk/mark-presented}
[:h1 "hi"])
(clerk/with-viewer {:transform-fn clerk/mark-presented
:render-fn '(fn [value]
(when value
[nextjournal.clerk.render/with-d3-require {:package ["[email protected]/dist/mermaid.min.js"]}
(fn [_]
[:div {:ref (fn [el]
(when el
(let [m js/mermaid
id (str (gensym))]
(.initialize m (js-obj :startOnLoad false))
(-> (.render m id value)
(.then (fn [result]
(set! (.-innerHTML el) (.-svg result))))
(.catch (fn [err]
(js/console.error "Mermaid render error:" err)))))))}])]))}
"stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]")
#_(println
(with-out-str
(clojure.pprint/pprint '(fn [value]
(when value
[render/with-d3-require {:package ["[email protected]/dist/mermaid.js"]}
(fn [mermaid]
[:div {:ref (fn [el] (when el
(.render mermaid (str (gensym)) value #(set! (.-innerHTML el) %))))}])])))))