On Sunday, August 31, 2014 1:23:20 AM UTC+2, Daniel Kersten wrote:
> You can set HTML directly like this:
>
>
> (om.dom/div #js {:dangerouslySetInnerHTML #js {:__html "<b>Bold!</b>"} nil)
Perfect. Much simpler. I had looked at this originally but was scared off by
the "dangerously".
Thanks.
>
>
>
>
>
> See https://github.com/swannodette/om/wiki/Documentation#props for details.
>
>
>
>
>
>
>
>
> On 30 August 2014 22:11, Joseph Fahey <[email protected]> wrote:
>
>
>
>
> Hi,
>
>
>
> I'm using Sablono and Hickory in an Om app where I insert a lot of
>
> existing html stored on the server, which is why I started using
>
> Sablono rather than Om's dom.
>
>
>
> My problem is that > and < are bleeding through to the browser.
>
>
>
> Here is a typical use (with the following in :require)
>
>
>
> [sablono.core :as html :refer-macros [html]]
>
> [hickory.core :as hk]
>
>
>
> (html (map hk/as-hiccup (hk/parse-fragment "<p>text ></p>")))
>
>
>
> In the browser, the paragraph element is rendered correctly, but the
>
> > ends up in the DOM as &gt;.
>
>
>
> After poking around a lot, it appears the problem is that the Hickory
>
> as-hiccup function escapes text
>
> content. (see
> https://github.com/davidsantiago/hickory/blob/12e52433cb60a31f75647fc68611804fc624fd3c/src/hickory/core.cljs#L95
> )
>
>
>
> This is logical behavior, since the hiccup library itself doesn't
>
> appear to do any escaping, so sending it pre-escaped text content
>
> makes sense.
>
>
>
> However, Sablono (or React?) seems to expect unescaped text, hence the
>
> double-escaping. If I write literal hiccup in my cljs app and pass it
>
> to sablono, I get the correct escaping in the browser.
>
>
>
> At this point I'm not sure what do. This is neither a bug in Sablono,
>
> nor in Hickory, but a mismatch between the two. I could walk the
>
> hickory output and unescape all the text nodes, but this seems like it
>
> should not be necessary. Try Kioo instead of Sablono?
>
>
>
> Thanks for any suggestions.
>
>
>
> --
>
> Note that posts from new members are moderated - please be patient with your
> first post.
>
> ---
>
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
>
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> To post to this group, send email to [email protected].
>
> Visit this group at http://groups.google.com/group/clojurescript.
--
Note that posts from new members are moderated - please be patient with your
first post.
---
You received this message because you are subscribed to the Google Groups
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.