aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README5
-rw-r--r--src/Text/Pandoc/Options.hs1
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs8
3 files changed, 8 insertions, 6 deletions
diff --git a/README b/README
index cf7a58e2c..5efc6cff5 100644
--- a/README
+++ b/README
@@ -416,8 +416,9 @@ Options affecting specific writers
`--id-prefix`=*STRING*
: Specify a prefix to be added to all automatically generated identifiers
- in HTML and DocBook output. This is useful for preventing duplicate
- identifiers when generating fragments to be included in other pages.
+ in HTML and DocBook output, and to footnote numbers in markdown output.
+ This is useful for preventing duplicate identifiers when generating
+ fragments to be included in other pages.
`-T` *STRING*, `--title-prefix=`*STRING*
: Specify *STRING* as a prefix at the beginning of the title
diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs
index a9c8bf710..359a26768 100644
--- a/src/Text/Pandoc/Options.hs
+++ b/src/Text/Pandoc/Options.hs
@@ -215,6 +215,7 @@ data WriterOptions = WriterOptions
, writerColumns :: Int -- ^ Characters in a line (for text wrapping)
, writerEmailObfuscation :: ObfuscationMethod -- ^ How to obfuscate emails
, writerIdentifierPrefix :: String -- ^ Prefix for section & note ids in HTML
+ -- and for footnote marks in markdown
, writerSourceDirectory :: FilePath -- ^ Directory path of 1st source file
, writerUserDataDir :: Maybe FilePath -- ^ Path of user data directory
, writerCiteMethod :: CiteMethod -- ^ How to print cites
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 1a0731710..9bc7cab6a 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -174,7 +174,7 @@ notesToMarkdown opts notes =
noteToMarkdown :: WriterOptions -> Int -> [Block] -> State WriterState Doc
noteToMarkdown opts num blocks = do
contents <- blockListToMarkdown opts blocks
- let num' = text $ show num
+ let num' = text $ writerIdentifierPrefix opts ++ show num
let marker = if isEnabled Ext_footnotes opts
then text "[^" <> num' <> text "]:"
else text "[" <> num' <> text "]"
@@ -655,7 +655,7 @@ inlineToMarkdown opts (Image alternate (source, tit)) = do
inlineToMarkdown opts (Note contents) = do
modify (\st -> st{ stNotes = contents : stNotes st })
st <- get
- let ref = show $ (length $ stNotes st)
+ let ref = text $ writerIdentifierPrefix opts ++ show (length $ stNotes st)
if isEnabled Ext_footnotes opts
- then return $ "[^" <> text ref <> "]"
- else return $ "[" <> text ref <> "]"
+ then return $ "[^" <> ref <> "]"
+ else return $ "[" <> ref <> "]"