module Text.Hakyll.Util
( trim
, stripHtml
, link
) where
import Data.Char (isSpace)
import Text.Blaze.Html5 ((!), string, stringValue, a)
import Text.Blaze.Html5.Attributes (href)
import Text.Blaze.Renderer.String (renderHtml)
trim :: String -> String
trim = reverse . trim' . reverse . trim'
where
trim' = dropWhile isSpace
stripHtml :: String -> String
stripHtml [] = []
stripHtml str = let (beforeTag, rest) = break (== '<') str
(_, afterTag) = break (== '>') rest
in beforeTag ++ stripHtml (drop 1 afterTag)
link :: String
-> String
-> String
link text destination = renderHtml $ a ! href (stringValue destination)
$ string text