git.iko.soy/typeable/pandoc
on master help sign in
Markdown reader: fixed internal header links.
e20f556John MacFarlane
src/Text/Pandoc/Extensions.hs+1
@@ -247,6 +247,7 @@ multimarkdownExtensions = extensionsFromList
247 , Ext_definition_lists
247 , Ext_definition_lists
248 , Ext_all_symbols_escapable
248 , Ext_all_symbols_escapable
249 , Ext_implicit_header_references
249 , Ext_implicit_header_references
250+ , Ext_shortcut_reference_links
250 , Ext_auto_identifiers
251 , Ext_auto_identifiers
251 , Ext_mmd_header_identifiers
252 , Ext_mmd_header_identifiers
252 , Ext_implicit_figures
253 , Ext_implicit_figures
src/Text/Pandoc/Readers/Markdown.hs+7−2
@@ -567,9 +567,14 @@ setextHeaderEnd = try $ do
567
567
568mmdHeaderIdentifier :: PandocMonad m => MarkdownParser m Attr
568mmdHeaderIdentifier :: PandocMonad m => MarkdownParser m Attr
569mmdHeaderIdentifier = do
569mmdHeaderIdentifier = do
570+ (_, raw) <- reference
570− ident <- stripFirstAndLast . snd <$> reference
571+ let raw' = trim $ stripFirstAndLast raw
572+ let ident = concat $ words $ map toLower raw'
573+ let attr = (ident, [], [])
574+ guardDisabled Ext_implicit_header_references
575+ <|> registerImplicitHeader raw' attr
571 skipSpaces
576 skipSpaces
572− return (ident,[],[])
577+ return attr
573
578
574setextHeader :: PandocMonad m => MarkdownParser m (F Blocks)
579setextHeader :: PandocMonad m => MarkdownParser m (F Blocks)
575setextHeader = try $ do
580setextHeader = try $ do
test/command/2397.mdnew file+9
@@ -0,0 +1,9 @@
1+```
2+% pandoc -f markdown_mmd
3+# Chapter 1: A long name of chapter [Chapter 1]
4+
5+See [Chapter 1].
6+^D
7+<h1 id="chapter1">Chapter 1: A long name of chapter</h1>
8+<p>See <a href="#chapter1">Chapter 1</a>.</p>
9+```