elm/libraries/Text.elm
2013-09-10 19:22:52 -07:00

115 lines
No EOL
2.5 KiB
Elm

module Text where
{-| Functions for displaying text
# Creating Text
@docs toText
# Creating Elements
@docs plainText, asText, text, centered, justified, righted
# Formatting
@docs color, typeface, height, link
# Simple Formatting
@docs monospace, header, bold, italic, underline, overline, strikeThrough
-}
import open Basics
import Color (Color)
import Graphics.Element (Element, Three, Pos, ElementPrim, Properties)
import Maybe (Maybe)
import JavaScript (JSString)
import Native.Text
data Text = Text
{-| Convert a string into text which can be styled and displayed. -}
toText : String -> Text
toText = Native.Text.toText
{-| Set the typeface of some text. The first argument should be a comma
separated listing of the desired typefaces
"helvetica, arial, sans-serif"
Works the same as the CSS font-family property.
-}
typeface : String -> Text -> Text
typeface = Native.Text.typeface
{-| Switch to a monospace typeface. Good for code snippets. -}
monospace : Text -> Text
monospace = Native.Text.monospace
{-| Make text big and noticable. -}
header : Text -> Text
header = Native.Text.header
{-| Create a link. -}
link : String -> Text -> Text
link = Native.Text.link
{-| Set the height of text in pixels. -}
height : Float -> Text -> Text
height = Native.Text.height
{-| Set the color of a string. -}
color : Color -> Text -> Text
color = Native.Text.color
{-| Make a string bold. -}
bold : Text -> Text
bold = Native.Text.bold
{-| Italicize a string. -}
italic : Text -> Text
italic = Native.Text.italic
{-| Draw a line above a string. -}
overline : Text -> Text
overline = Native.Text.overline
{-| Underline a string. -}
underline : Text -> Text
underline = Native.Text.underline
{-| Draw a line through a string. -}
strikeThrough : Text -> Text
strikeThrough = Native.Text.strikeThrough
{-| Display justified, styled text. -}
justified : Text -> Element
justified = Native.Text.justified
{-| Display centered, styled text. -}
centered : Text -> Element
centered = Native.Text.centered
{-| Display right justified, styled text. -}
righted : Text -> Element
righted = Native.Text.righted
{-| Display styled text. -}
text : Text -> Element
text = Native.Text.text
{-| Display a plain string. -}
plainText : String -> Element
plainText = Native.Text.plainText
{-| for internal use only -}
markdown : Element
markdown = Native.Text.markdown
{-| Convert anything to it's textual representation and make it displayable in
browser
asText == text . monospace . show
Excellent for debugging.
-}
asText : a -> Element
asText = Native.Text.asText