npm i -D marked
(ns uix.recipes
(:require [marked]
[uix.core :as uix :refer [defui defhook $]]))
The hook caches generated HTML string until input markdown is updated
(defhook use-markdown [s]
(uix/use-memo #(marked/parse s) [s]))
:dangerouslySetInnerHTML prop(defui md [{:keys [children]}]
(let [html (use-markdown children)]
($ :div {:dangerouslySetInnerHTML {:__html html}})))
($ md "# UIx recipes")