@@ -390,8 +390,8 @@ blockDelimiter f len = try $ do
390attributes :: GenParser Char st ([Char], [[Char]], [([Char], [Char])])
390attributes :: GenParser Char st ([Char], [[Char]], [([Char], [Char])])
391attributes = try $ do
391attributes = try $ do
393− many spaceChar
393+ spnl
394− attrs <- many (attribute >>~ many spaceChar)
394+ attrs <- many (attribute >>~ spnl)
396 let (ids, classes, keyvals) = unzip3 attrs
396 let (ids, classes, keyvals) = unzip3 attrs
397 let firstNonNull [] = ""
397 let firstNonNull [] = ""
@@ -424,8 +424,9 @@ keyValAttr :: GenParser Char st ([Char], [a], [([Char], [Char])])
424keyValAttr = try $ do
424keyValAttr = try $ do
425 key <- identifier
425 key <- identifier
427− char '"'
427+ val <- enclosed (char '"') (char '"') anyChar
428− val <- manyTill (satisfy (/='\n')) (char '"')
428+ <|> enclosed (char '\'') (char '\'') anyChar
429+ <|> many nonspaceChar
429 return ("",[],[(key,val)])
430 return ("",[],[(key,val)])
431codeBlockDelimited :: GenParser Char st Block
432codeBlockDelimited :: GenParser Char st Block