From 0daab92de5969d47203fed4c0ced58d58eb8faff Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 13 Mar 2014 11:40:05 -0700 Subject: [PATCH] Revert "Revert "add txexpr->html"" This reverts commit 6348c1f8971bd9af9ec38edb0090460b9badf5be. --- main.rkt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/main.rkt b/main.rkt index 04347bf..acddbbe 100644 --- a/main.rkt +++ b/main.rkt @@ -222,3 +222,16 @@ (define tx-extracted (do-extraction tx)) ;; do this first to fill matches (values tx-extracted (reverse matches))) + +(define+provide+safe (txexpr->html x) + (txexpr? . -> . string?) + (define (->cdata x) + (if (cdata? x) x (cdata #f #f x))) + + (xexpr->string (let loop ([x x]) + (cond + [(txexpr? x) (if (member (get-tag x) '(script style)) + (make-txexpr (get-tag x) (get-attrs x) (map ->cdata (get-elements x))) + (make-txexpr (get-tag x) (get-attrs x) (map loop (get-elements x))))] + [else x])))) +