开发者

how does one get strings (not string literals) into blazehtml attributes/element contents?

开发者 https://www.devze.com 2023-01-08 06:05 出处:网络
The blazehtml tutorial and other blog posts make it very clear how to get string literals to work.I\'ve got that.But how do I get strings (bytestrings, Data.Text, etc. would work too.) in general into

The blazehtml tutorial and other blog posts make it very clear how to get string literals to work. I've got that. But how do I get strings (bytestrings, Data.Text, etc. would work too.) in general into the attributes/content of elements. Blazehtml looks great, but it seems pretty useless without that. =P

here's sample output and code to show the exact problem:


{-# LANGUAGE OverloadedStrings #-}

import Prelude
import qualified Prelude as P
import Text.Blaze.Html5
import Text.Blaze.Html5.Attributes
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A

mak开发者_开发百科eLink dest cont = renderHtml $ a ! src dest $ cont
*Main> let foo = "foo"
*Main> let bar = "bar"
*Main> makeLink foo bar

:1:9:
    Couldn't match expected type `AttributeValue'
           against inferred type `[Char]'
    In the first argument of `makeLink', namely `foo'
    In the expression: makeLink foo bar
    In the definition of `it': it = makeLink foo bar


In this page of the documentation one finds the necessary functions: http://hackage.haskell.org/packages/archive/blaze-html/0.1.2/doc/html/Text-Blaze.html.

They are stringValue:: String -> AttributeValue and string:: String -> Html a. Problem Solved!

0

精彩评论

暂无评论...
验证码 换一张
取 消