diff options
author | John MacFarlane <jgm@berkeley.edu> | 2015-09-25 23:01:34 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2015-09-25 23:01:34 -0700 |
commit | dcb0b02aa391135d34da2a9c76b0683c19b521b3 (patch) | |
tree | 860fb576a6df657155774f80f490c5f0e77ad1d2 /src/Text/Pandoc/Readers | |
parent | 8a43530380993e3a85bb8e2f0c082dec287ea5ca (diff) | |
download | pandoc-dcb0b02aa391135d34da2a9c76b0683c19b521b3.tar.gz |
Markdown reader: handle 'id' and 'class' in parsing key/value attrs.
# Header {id="myid" class="foo bar"}
is now equivalent to
# Header {#myid .foo .bar}
Closes #2396.
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 80a13b3bd..b5d15c633 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -639,7 +639,11 @@ keyValAttr = try $ do val <- enclosed (char '"') (char '"') litChar <|> enclosed (char '\'') (char '\'') litChar <|> many (escapedChar' <|> noneOf " \t\n\r}") - return $ \(id',cs,kvs) -> (id',cs,kvs ++ [(key,val)]) + return $ \(id',cs,kvs) -> + case key of + "id" -> (val,cs,kvs) + "class" -> (id',cs ++ words val,kvs) + _ -> (id',cs,kvs ++ [(key,val)]) specialAttr :: MarkdownParser (Attr -> Attr) specialAttr = do |