diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Hakyll/Web/CompressCss.hs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Hakyll/Web/CompressCss.hs b/src/Hakyll/Web/CompressCss.hs index ce7239f..c00b5ee 100644 --- a/src/Hakyll/Web/CompressCss.hs +++ b/src/Hakyll/Web/CompressCss.hs @@ -37,11 +37,17 @@ compressSeparators [] = [] compressSeparators str | isPrefixOf "\"" str = head str : retainConstants compressSeparators "\"" (drop 1 str) | isPrefixOf "'" str = head str : retainConstants compressSeparators "'" (drop 1 str) - | otherwise = - replaceAll "; *}" (const "}") $ - replaceAll " *([{};]) *" (take 1 . dropWhile isSpace) $ - replaceAll ";+" (const ";") str - where + | 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)) + | isPrefixOf ";}" str = '}' : compressSeparators (drop 2 str) + | otherwise = head str : compressSeparators (drop 1 str) + -------------------------------------------------------------------------------- -- | Compresses all whitespace. |