From 8ceea05c7591d731338b965249c6d636854df8ed Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Wed, 23 Feb 2022 10:00:49 -0800 Subject: [PATCH] Markdown reader: remove restriction on identifiers... so they no longer need to begin with a letter. Closes #7920. --- src/Text/Pandoc/Readers/Markdown.hs | 2 +- test/command/7920.md | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 test/command/7920.md 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} +```