From cee7648fcf40580295ab30fa9ce676086a8c3028 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Sun, 5 Jun 2011 23:07:00 +0200 Subject: Add stripTags function --- hakyll.cabal | 1 + src/Hakyll.hs | 2 ++ src/Hakyll/Web/Util/Html.hs | 30 ++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/Hakyll/Web/Util/Html.hs diff --git a/hakyll.cabal b/hakyll.cabal index f7be8b2..2d74787 100644 --- a/hakyll.cabal +++ b/hakyll.cabal @@ -84,6 +84,7 @@ Library Hakyll.Main Hakyll.Web.Blaze Hakyll.Web.Util.Url + Hakyll.Web.Util.Html Hakyll.Web.Preview.Server Hakyll.Web.Preview.Poll Hakyll.Web.CompressCss diff --git a/src/Hakyll.hs b/src/Hakyll.hs index 341bb53..533f19d 100644 --- a/src/Hakyll.hs +++ b/src/Hakyll.hs @@ -28,6 +28,7 @@ module Hakyll , module Hakyll.Web.RelativizeUrls , module Hakyll.Web.Tags , module Hakyll.Web.Template + , module Hakyll.Web.Util.Html , module Hakyll.Web.Util.Url ) where @@ -58,4 +59,5 @@ import Hakyll.Web.Pandoc.FileType import Hakyll.Web.RelativizeUrls import Hakyll.Web.Tags import Hakyll.Web.Template +import Hakyll.Web.Util.Html import Hakyll.Web.Util.Url diff --git a/src/Hakyll/Web/Util/Html.hs b/src/Hakyll/Web/Util/Html.hs new file mode 100644 index 0000000..5330cdd --- /dev/null +++ b/src/Hakyll/Web/Util/Html.hs @@ -0,0 +1,30 @@ +-- | Miscellaneous HTML manipulation functions +-- +module Hakyll.Web.Util.Html + ( stripTags + ) where + +-- | Strip all HTML tags from a string +-- +-- Example: +-- +-- > stripTags "

foo

" +-- +-- Result: +-- +-- > "foo" +-- +-- This also works for incomplete tags +-- +-- Example: +-- +-- > stripTags "

foo "foo" +-- +stripTags :: String -> String +stripTags [] = [] +stripTags ('<' : xs) = stripTags $ drop 1 $ dropWhile (/= '>') xs +stripTags (x : xs) = x : stripTags xs -- cgit v1.2.3 From 4e7acdcb7765969e322fd244bb845917da4170c8 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Sun, 5 Jun 2011 23:07:24 +0200 Subject: Version bump (3.1.2.8) --- hakyll.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hakyll.cabal b/hakyll.cabal index 2d74787..98648b3 100644 --- a/hakyll.cabal +++ b/hakyll.cabal @@ -1,5 +1,5 @@ Name: hakyll -Version: 3.1.2.7 +Version: 3.1.2.8 Synopsis: A static website compiler library Description: -- cgit v1.2.3 From 699a4e111309278495eda50cabe678354864a449 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Sun, 5 Jun 2011 23:13:11 +0200 Subject: Add tests for stripTags --- tests/Hakyll/Web/Util/Html/Tests.hs | 18 ++++++++++++++++++ tests/TestSuite.hs | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 tests/Hakyll/Web/Util/Html/Tests.hs diff --git a/tests/Hakyll/Web/Util/Html/Tests.hs b/tests/Hakyll/Web/Util/Html/Tests.hs new file mode 100644 index 0000000..fc72cdf --- /dev/null +++ b/tests/Hakyll/Web/Util/Html/Tests.hs @@ -0,0 +1,18 @@ +module Hakyll.Web.Util.Html.Tests + ( tests + ) where + +import Test.Framework +import Test.HUnit hiding (Test) + +import Hakyll.Web.Util.Html +import TestSuite.Util + +tests :: [Test] +tests = concat + [ fromAssertions "stripTags" + [ "foo" @=? stripTags "

foo

" + , "foo bar" @=? stripTags "

foo

bar" + , "foo" @=? stripTags "

foo