module Text.Hakyll.Util
( trim
, split
, stripHTML
) where
import Data.Char (isSpace)
import Text.Regex (splitRegex, mkRegex)
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 $ tail' afterTag)
where tail' [] = []
tail' xs = tail xs
split :: String -> String -> [String]
split pattern = filter (not . null)
. splitRegex (mkRegex pattern)