git.iko.soy/typeable/pandoc
on master help sign in
Improvements to markdown attributes syntax (on code blocks).

(1) Attributes can contain line breaks. (2) Values in key-value attributes can be surrounded by either double or single quotes, or left unquoted if they contain no spaces.

commit24f7076622c967f79811f37ee10296f8a4ed8a41 authorJohn MacFarlane <fiddlosopher@gmail.com> dateWed 8 Feb 2012, 17:18 (15 years ago) parentef5dcae
1 file changed+5−4
src/Text/Pandoc/Readers/Markdown.hs+5−4
src/Text/Pandoc/Readers/Markdown.hs+5−4
@@ -390,8 +390,8 @@ blockDelimiter f len = try $ do
390390attributes :: GenParser Char st ([Char], [[Char]], [([Char], [Char])])
391391attributes = try $ do
392392 char '{'
393− many spaceChar
394− attrs <- many (attribute >>~ many spaceChar)
393+ spnl
394+ attrs <- many (attribute >>~ spnl)
395395 char '}'
396396 let (ids, classes, keyvals) = unzip3 attrs
397397 let firstNonNull [] = ""
@@ -424,8 +424,9 @@ keyValAttr :: GenParser Char st ([Char], [a], [([Char], [Char])])
424424keyValAttr = try $ do
425425 key <- identifier
426426 char '='
427− char '"'
428− val <- manyTill (satisfy (/='\n')) (char '"')
427+ val <- enclosed (char '"') (char '"') anyChar
428+ <|> enclosed (char '\'') (char '\'') anyChar
429+ <|> many nonspaceChar
429430 return ("",[],[(key,val)])
430431
431432codeBlockDelimited :: GenParser Char st Block