Safe Haskell | None |
---|---|
Language | Haskell98 |
- type Html = Markup
- shamlet :: QuasiQuoter
- shamletFile :: FilePath -> Q Exp
- xshamlet :: QuasiQuoter
- xshamletFile :: FilePath -> Q Exp
- type HtmlUrl url = Render url -> Html
- type Render url = url -> [(Text, Text)] -> Text
- hamlet :: QuasiQuoter
- hamletFile :: FilePath -> Q Exp
- hamletFileReload :: FilePath -> Q Exp
- xhamlet :: QuasiQuoter
- xhamletFile :: FilePath -> Q Exp
- type HtmlUrlI18n msg url = Translate msg -> Render url -> Html
- type Translate msg = msg -> Html
- ihamlet :: QuasiQuoter
- ihamletFile :: FilePath -> Q Exp
- ihamletFileReload :: FilePath -> Q Exp
- class ToAttributes a where
- toAttributes :: a -> [(Text, Text)]
- data HamletSettings = HamletSettings {}
- data NewlineStyle
- hamletWithSettings :: Q HamletRules -> HamletSettings -> QuasiQuoter
- hamletFileWithSettings :: Q HamletRules -> HamletSettings -> FilePath -> Q Exp
- defaultHamletSettings :: HamletSettings
- xhtmlHamletSettings :: HamletSettings
- data Env = Env {}
- data HamletRules = HamletRules {}
- hamletRules :: Q HamletRules
- ihamletRules :: Q HamletRules
- htmlRules :: Q HamletRules
- data CloseStyle
- condH :: Monad m => [(Bool, m ())] -> Maybe (m ()) -> m ()
- maybeH :: Monad m => Maybe v -> (v -> m ()) -> Maybe (m ()) -> m ()
- asHtmlUrl :: HtmlUrl url -> HtmlUrl url
- attrsToHtml :: [(Text, Text)] -> Html
Plain HTML
"Simple Hamlet" quasi-quoter. May only be used to generate expressions.
Generated expressions have type Html
.
>>>putStrLn
(renderHtml
[shamlet
|<div>Hello, world!|]) <div>Hello, world!</div>
shamletFile :: FilePath -> Q Exp Source
Like shamlet
, but reads an external file at compile time.
$(shamletFile
"foo.hamlet") ::Html
xshamlet :: QuasiQuoter Source
Like shamlet
, but produces XHTML.
xshamletFile :: FilePath -> Q Exp Source
Like shamletFile
, but produces XHTML.
Hamlet
type HtmlUrl url = Render url -> Html Source
A function generating an Html
given a URL-rendering function.
Hamlet quasi-quoter. May only be used to generate expressions.
Generated expression have type
, for some HtmlUrl
urlurl
.
data MyRoute = Home render ::Render
MyRoute render Home _ = "/home" >>>putStrLn
(renderHtml
([hamlet
|<a href=@{Home}>Home|] render)) <a href="/home">Home</a>
hamletFile :: FilePath -> Q Exp Source
Like hamlet
, but reads an external file at compile time.
$(hamletFile
"foo.hamlet") ::HtmlUrl
MyRoute
hamletFileReload :: FilePath -> Q Exp Source
Like hamletFile
, but the external file is parsed at runtime. Allows for
more rapid development, but should not be used in production.
Like hamlet
, but produces XHTML.
xhamletFile :: FilePath -> Q Exp Source
Like hamletFile
, but produces XHTML.
I18N Hamlet
type HtmlUrlI18n msg url = Translate msg -> Render url -> Html Source
A function generating an Html
given a message translator and a URL rendering function.
Hamlet quasi-quoter with internationalization. May only be used to generate expressions.
Generated expressions have type
, for some HtmlUrlI18n
msg urlmsg
and
url
.
data MyMsg = Hi | Bye data MyRoute = Home renderEnglish ::Translate
MyMsg renderEnglish Hi = "hi" renderEnglish Bye = "bye" renderUrl ::Render
MyRoute renderUrl Home _ = "/home" >>>putStrLn
(renderHtml
([ihamlet
|@{Home} _{Hi} _{Bye}|] renderEnglish renderUrl)) <div>/home hi bye <div>
ihamletFile :: FilePath -> Q Exp Source
Like ihamlet
, but reads an external file at compile time.
$(ihamletFile
"foo.hamlet") ::HtmlUrlI18n
MyMsg MyRoute
ihamletFileReload :: FilePath -> Q Exp Source
Like ihamletFile
, but the external file is parsed at runtime. Allows for
more rapid development, but should not be used in production.
Type classes
class ToAttributes a where Source
Convert some value to a list of attribute pairs.
toAttributes :: a -> [(Text, Text)] Source
ToAttributes [(String, String)] Source | |
ToAttributes [(Text, Text)] Source | |
ToAttributes (String, String) Source | |
ToAttributes (Text, Text) Source |
Internal, for making more
data HamletSettings Source
Settings for parsing of a hamlet document.
HamletSettings | |
|
data NewlineStyle Source
NoNewlines | never add newlines |
NewlinesText | add newlines between consecutive text lines |
AlwaysNewlines | add newlines everywhere |
DefaultNewlineStyle |
hamletFileWithSettings :: Q HamletRules -> HamletSettings -> FilePath -> Q Exp Source
defaultHamletSettings :: HamletSettings Source
Defaults settings: HTML5 doctype and HTML-style empty tags.
data HamletRules Source
Used by generated code
condH :: Monad m => [(Bool, m ())] -> Maybe (m ()) -> m () Source
Checks for truth in the left value in each pair in the first argument. If a true exists, then the corresponding right action is performed. Only the first is performed. In there are no true values, then the second argument is performed, if supplied.
maybeH :: Monad m => Maybe v -> (v -> m ()) -> Maybe (m ()) -> m () Source
Runs the second argument with the value in the first, if available. Otherwise, runs the third argument, if available.
attrsToHtml :: [(Text, Text)] -> Html Source