summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2022-02-23 10:00:49 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2022-02-23 10:04:15 -0800
commit8ceea05c7591d731338b965249c6d636854df8ed (patch)
tree6a72dea4266ae950703e8c410d0baf9863af2335
parentba337866e4bbff3c512acc48ff89c916e6deb6c9 (diff)
Markdown reader: remove restriction on identifiers...
so they no longer need to begin with a letter. Closes #7920.
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs2
-rw-r--r--test/command/7920.md20
2 files changed, 21 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 25318f0f4..307d09a12 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -635,7 +635,7 @@ identifier = do
identifierAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr)
identifierAttr = try $ do
char '#'
- result <- identifier
+ result <- T.pack <$> many1 (alphaNum <|> oneOf "-_:.") -- see #7920
return $ \(_,cs,kvs) -> (result,cs,kvs)
classAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr)
diff --git a/test/command/7920.md b/test/command/7920.md
new file mode 100644
index 000000000..6bfac3af6
--- /dev/null
+++ b/test/command/7920.md
@@ -0,0 +1,20 @@
+```
+% pandoc -t native
+[hi]{#123}
+^D
+[ Para [ Span ( "123" , [] , [] ) [ Str "hi" ] ] ]
+```
+
+```
+% pandoc -t markdown
+[hi]{#123}
+^D
+[hi]{#123}
+```
+
+```
+% pandoc -t markdown
+# Hi {#123}
+^D
+# Hi {#123}
+```