aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMauro Bieg <mb21@users.noreply.github.com>2017-02-03 09:53:43 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2017-02-03 09:53:43 +0100
commit5cd475be7057487ba4f63e2257b6f65b975acd58 (patch)
tree10d2d4d1f698d665c4a35526e163b548af9b4e64 /src
parent9327e70c1081f83f60bbc473f60bb25d7cee314a (diff)
downloadpandoc-5cd475be7057487ba4f63e2257b6f65b975acd58.tar.gz
HTML and DocBook writers: fix internal links with writerIdentifierPrefix opt (#3398)
closes #3397
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/Docbook.hs2
-rw-r--r--src/Text/Pandoc/Writers/HTML.hs8
2 files changed, 6 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Writers/Docbook.hs b/src/Text/Pandoc/Writers/Docbook.hs
index 4c5b255d8..482cae3db 100644
--- a/src/Text/Pandoc/Writers/Docbook.hs
+++ b/src/Text/Pandoc/Writers/Docbook.hs
@@ -405,7 +405,7 @@ inlineToDocbook opts (Link attr txt (src, _))
| otherwise = do
version <- ask
(if isPrefixOf "#" src
- then inTags False "link" $ ("linkend", drop 1 src) : idAndRole attr
+ then inTags False "link" $ ("linkend", writerIdentifierPrefix opts ++ drop 1 src) : idAndRole attr
else if version == DocBook5
then inTags False "link" $ ("xlink:href", src) : idAndRole attr
else inTags False "ulink" $ ("url", src) : idAndRole attr )
diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs
index d1fb3dda7..64eccd35e 100644
--- a/src/Text/Pandoc/Writers/HTML.hs
+++ b/src/Text/Pandoc/Writers/HTML.hs
@@ -933,9 +933,11 @@ inlineToHtml opts inline = do
linkText <- inlineListToHtml opts txt
slideVariant <- gets stSlideVariant
let s' = case s of
- '#':xs | slideVariant == RevealJsSlides
- -> '#':'/':xs
- _ -> s
+ '#':xs -> let prefix = if slideVariant == RevealJsSlides
+ then "/"
+ else writerIdentifierPrefix opts
+ in '#' : prefix ++ xs
+ _ -> s
let link = H.a ! A.href (toValue s') $ linkText
let link' = if txt == [Str (unEscapeString s)]
then link ! A.class_ "uri"