From 93492936843ef58f9f9aa6574361887f75248925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madeleine=20Sydney=20=C5=9Alaga?= Date: Sat, 28 Mar 2026 22:41:16 -0600 Subject: [PATCH] feat: text art --- doerg/src/net/deertopia/doerg/render.clj | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/doerg/src/net/deertopia/doerg/render.clj b/doerg/src/net/deertopia/doerg/render.clj index 788ef34..ee3b391 100644 --- a/doerg/src/net/deertopia/doerg/render.clj +++ b/doerg/src/net/deertopia/doerg/render.clj @@ -103,10 +103,16 @@ (sp/view #(update % :children seq)) sp/STAY)) +(defn center [& es] + [:div.center es]) + (defn doerg-attrs [e] (->> e :affiliated :attr_doerg (str/join " ") (format "{%s}") edn/read-string)) +(defn em [x] + (format "%.4fem" x)) + (defn wrap-if [x c f] (if c (f x) x)) @@ -337,8 +343,14 @@ [:span.latex-fragment.display-math (-> e ::rendered deref)]) -(defmethod org-element "example-block" [{:keys [value]}] - [:pre value]) +(defmethod org-element "example-block" [{:keys [value] :as e}] + (let [{:keys [center? alt scale img?]} (doerg-attrs e)] + (-> [:pre (merge (and img? {:role "img" + :aria-label alt + :title alt}) + (and scale {:style {:font-size (em scale)}})) + value] + (wrap-if center? center)))) (defmethod org-element "src-block" [{:keys [value]}] [:pre [:code value]])