aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Text/BlazeT.hs
blob: ffdd89bc170b57b932e5cc25e641813a86345fdd (plain) (blame)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE RankNTypes #-}

module Text.BlazeT
  (
   -- * DO NOT READ THIS. READ "Text.BlazeT.Internal" INSTEAD 
    -- $descr
    
   -- * DO NOT READ THIS
-- -- * 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.
    , Text.Blaze.ToValue (..)
    , textValue
    , preEscapedTextValue
    , lazyTextValue
    , preEscapedLazyTextValue
    , stringValue
    , preEscapedStringValue
    , unsafeByteStringValue
    , unsafeLazyByteStringValue

-- -- * Setting attributes
    , (!)
    , (!?)

-- -- * Modifiying Markup trees
    , contents

    ,MarkupT(..)
    ,MarkupI
    ,mapMarkupT
    ,MarkupM
    ,Markup2
    ,runMarkupT
    ,runMarkup
    ,runWith
    ,execMarkupT
    ,execMarkup
    ,execWith
    ) where

import qualified Text.Blaze
import           Text.BlazeT.Internal as Text.BlazeT.Internal 

class ToMarkup a where
  toMarkup :: a -> Markup
  preEscapedToMarkup :: a -> Markup

-- test :: (ToMarkup a, Monad m) => a -> MarkupT m ()
-- test = toMarkup

instance Text.Blaze.ToMarkup a => ToMarkup a where
  toMarkup = wrapMarkup . Text.Blaze.toMarkup
  {-# INLINE toMarkup #-}
  preEscapedToMarkup = wrapMarkup . Text.Blaze.preEscapedToMarkup
  {-# INLINE preEscapedToMarkup #-}


-- $descr
-- 
-- Due due a Haddock bug, this documentation is misleading. Please
-- read "Text.BlazeT.Internal" instead.
--
-- (The bug shows both @Text.Blaze.Markup@ and @Text.BlazeT.Markup@ as
-- "Markup".)
--
-- Use this documentation only to see which entities are exported by
-- this module.