dialog-0.2.0.0: library/Dialog/Shorthands.hs
--------------------------------------------------------------------------------
-- |
-- module: Dialog.Shorthands
-- copyright: (c) 2015 Nikita Churaev
-- license: BSD3
--------------------------------------------------------------------------------
{-# OPTIONS_HADDOCK not-home #-}
--------------------------------------------------------------------------------
module Dialog.Shorthands where
--------------------------------------------------------------------------------
import Dialog.Internal
--------------------------------------------------------------------------------
-- | Shorthand for 'TextParagraph'.
p :: FormattedText -> Paragraph
p = TextParagraph
-- | Makes an unlabeled link. Shorthand for @('Link' url ('Plain' url))@.
url :: String -> FormattedText
url linkURL = Link linkURL (Plain linkURL)
-- | Makes a labeled link. Alias for 'Link'.
link :: String -> FormattedText -> FormattedText
link = Link
-- | Shorthand for @('Picture' ('PictureFromURL' url))@.
img :: String -> Paragraph
img imgURL = Picture (PictureFromURL imgURL)
-- | Makes a numbered list. Shorthand for @('List' 'NumberedList' items)@.
ol :: [ListItem] -> Paragraph
ol = List NumberedList
-- | Makes a bullet list. Shorthand for @('List' 'BulletList' items)@.
ul :: [ListItem] -> Paragraph
ul = List BulletList
-- | Makes a single-line list item. Shorthand for
-- @('ListItem' ['TextParagraph' text])@.
li :: FormattedText -> ListItem
li text = ListItem [TextParagraph text]
-- | Makes a list item. Shorthand for 'ListItem'.
li' :: [Paragraph] -> ListItem
li' = ListItem
-- | Converts a 'String' to a 'FormattedText'. Shorthand for 'Plain'.
str :: String -> FormattedText
str = Plain
-- | Makes a text bold. Shorthand for 'Bold'.
b :: FormattedText -> FormattedText
b = Bold
-- | Makes a text italic. Shorthand for 'Italic'.
i :: FormattedText -> FormattedText
i = Italic
-- | Makes a text underlined. Shorthand for 'Underline'.
u :: FormattedText -> FormattedText
u = Underline
-- | Changes the color of a text. Alias of 'Colored'.
color :: Color -> FormattedText -> FormattedText
color = Colored
-- | Changes the size of a text. Alias of 'Size'.
size :: FontSize -> FormattedText -> FormattedText
size = Size
-- | Makes a table. Alias for 'Table'.
table :: [TableRow] -> Paragraph
table = Table
-- | Makes a table row. Shorthand for 'TableRow'.
tr :: [TableCell] -> TableRow
tr = TableRow
-- | Makes a normal table cell with a single line of text in it. Shorthand for
-- @('TableCell' 'NormalCell' ['TextParagraph' text])@.
td :: FormattedText -> TableCell
td text = TableCell NormalCell [TextParagraph text]
-- | Makes a table header cell with a single line of text in it. Shorthand for
-- @('TableCell' 'HeaderCell' ['TextParagraph' text])@.
th :: FormattedText -> TableCell
th text = TableCell HeaderCell [TextParagraph text]
-- | Makes a normal table cell. Shorthand for
-- @('TableCell' 'NormalCell' paragraphs)@.
td' :: [Paragraph] -> TableCell
td' = TableCell NormalCell
-- | Makes a header table cell. Shorthand for
-- @('TableCell' 'HeaderCell' paragraphs)@.
th' :: [Paragraph] -> TableCell
th' = TableCell HeaderCell
--------------------------------------------------------------------------------