1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE RankNTypes #-}
module Text.BlazeT
(
-- * Important types.
Markup
, Tag
, Attribute
, AttributeValue
-- * Creating attributes.
, dataAttribute
, customAttribute
-- * Converting values to Markup.
, ToMarkup (..)
, text
, preEscapedText
, lazyText
, preEscapedLazyText
, string
, preEscapedString
, unsafeByteString
, unsafeLazyByteString
-- * Comments
, textComment
, lazyTextComment
, stringComment
, unsafeByteStringComment
, unsafeLazyByteStringComment
-- * Creating tags.
, textTag
, stringTag
-- * Converting values to attribute values.
, B.ToValue (..)
, textValue
, preEscapedTextValue
, lazyTextValue
, preEscapedLazyTextValue
, stringValue
, preEscapedStringValue
, unsafeByteStringValue
, unsafeLazyByteStringValue
-- * Setting attributes
, (!)
, (!?)
-- * Modifiying Markup trees
, contents
-- * BlazeT new stuff
,MarkupM
,Markup2
,mapMarkupT
,MarkupT
,runMarkup
,runMarkupT
,execMarkup
,execMarkupT
) where
import qualified Text.Blaze as B
import Text.BlazeT.Internal
class ToMarkup a where
toMarkup :: a -> Markup
preEscapedToMarkup :: a -> Markup
-- test :: (ToMarkup a, Monad m) => a -> MarkupT m ()
-- test = toMarkup
instance B.ToMarkup a => ToMarkup a where
toMarkup = wrapMarkup . B.toMarkup
{-# INLINE toMarkup #-}
preEscapedToMarkup = wrapMarkup . B.preEscapedToMarkup
{-# INLINE preEscapedToMarkup #-}
|