@@ -97,18 +97,22 @@ cssURLs media sourceURL d orig =
97 (x,y) | B.null y -> return orig
97 (x,y) | B.null y -> return orig
98 | otherwise -> do
98 | otherwise -> do
99 let (u,v) = B.breakSubstring ")" $ B.drop 4 y
99 let (u,v) = B.breakSubstring ")" $ B.drop 4 y
100+ rest <- cssURLs media sourceURL d v
100 let url = toString
101 let url = toString
101 $ case B.take 1 u of
102 $ case B.take 1 u of
102 "\"" -> B.takeWhile (/='"') $ B.drop 1 u
103 "\"" -> B.takeWhile (/='"') $ B.drop 1 u
103 "'" -> B.takeWhile (/='\'') $ B.drop 1 u
104 "'" -> B.takeWhile (/='\'') $ B.drop 1 u
107+ '#':_ -> return $ x `B.append` rest
105− let url' = if isURI url
109+ let url' = if isURI url
106− then url
110+ then url
107− else d </> url
111+ else d </> url
108− (raw, mime) <- getRaw media sourceURL "" url'
112+ (raw, mime) <- getRaw media sourceURL "" url'
109− rest <- cssURLs media sourceURL d v
110− let enc = fromString $ makeDataURI mime raw
113+ let enc = fromString $ makeDataURI mime raw
111− return $ x `B.append` "url(" `B.append` enc `B.append` rest
114+ return $ x `B.append` "url(" `B.append` enc
113getRaw :: MediaBag -> Maybe String -> MimeType -> String
117getRaw :: MediaBag -> Maybe String -> MimeType -> String
114 -> IO (ByteString, MimeType)
118 -> IO (ByteString, MimeType)