summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web/Util/Html.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Web/Util/Html.hs')
-rw-r--r--src/Hakyll/Web/Util/Html.hs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Hakyll/Web/Util/Html.hs b/src/Hakyll/Web/Util/Html.hs
index 5330cdd..2a42608 100644
--- a/src/Hakyll/Web/Util/Html.hs
+++ b/src/Hakyll/Web/Util/Html.hs
@@ -2,8 +2,12 @@
--
module Hakyll.Web.Util.Html
( stripTags
+ , escapeHtml
) where
+import Text.Blaze (toHtml)
+import Text.Blaze.Renderer.String (renderHtml)
+
-- | Strip all HTML tags from a string
--
-- Example:
@@ -28,3 +32,16 @@ stripTags :: String -> String
stripTags [] = []
stripTags ('<' : xs) = stripTags $ drop 1 $ dropWhile (/= '>') xs
stripTags (x : xs) = x : stripTags xs
+
+-- | HTML-escape a string
+--
+-- Example:
+--
+-- > escapeHtml "Me & Dean"
+--
+-- Result:
+--
+-- > "Me &amp; Dean"
+--
+escapeHtml :: String -> String
+escapeHtml = renderHtml . toHtml