summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web/CompressCss.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Web/CompressCss.hs')
-rw-r--r--src/Hakyll/Web/CompressCss.hs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/Hakyll/Web/CompressCss.hs b/src/Hakyll/Web/CompressCss.hs
index c00b5ee..aac48b1 100644
--- a/src/Hakyll/Web/CompressCss.hs
+++ b/src/Hakyll/Web/CompressCss.hs
@@ -37,17 +37,14 @@ compressSeparators [] = []
compressSeparators str
| isPrefixOf "\"" str = head str : retainConstants compressSeparators "\"" (drop 1 str)
| isPrefixOf "'" str = head str : retainConstants compressSeparators "'" (drop 1 str)
- | isPrefixOf " " str = compressSeparators (drop 1 str)
- | isPrefixOf " {" str = compressSeparators (drop 1 str)
- | isPrefixOf " }" str = compressSeparators (drop 1 str)
- | isPrefixOf " ;" str = compressSeparators (drop 1 str)
- | isPrefixOf ";;" str = compressSeparators (drop 1 str)
- | isPrefixOf "{ " str = compressSeparators (head str : (drop 2 str))
- | isPrefixOf "} " str = compressSeparators (head str : (drop 2 str))
- | isPrefixOf "; " str = compressSeparators (head str : (drop 2 str))
+ | stripFirst = compressSeparators (drop 1 str)
+ | stripSecond = compressSeparators (head str : (drop 2 str))
| isPrefixOf ";}" str = '}' : compressSeparators (drop 2 str)
| otherwise = head str : compressSeparators (drop 1 str)
-
+ where
+ prefix p = isPrefixOf p str
+ stripFirst = or $ map prefix [" ", " {", " }", ";;"]
+ stripSecond = or $ map prefix ["{ ", "} ", "; "]
--------------------------------------------------------------------------------
-- | Compresses all whitespace.