aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/HTML.hs8
-rw-r--r--test/command/5650.md22
2 files changed, 27 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs
index 241479157..a0f6f17f0 100644
--- a/src/Text/Pandoc/Writers/HTML.hs
+++ b/src/Text/Pandoc/Writers/HTML.hs
@@ -776,8 +776,8 @@ blockToHtml opts (CodeBlock (id',classes,keyvals) rawCode) = do
then do
modify $ \st -> st{ stCodeBlockNum = stCodeBlockNum st + 1 }
codeblocknum <- gets stCodeBlockNum
- return ("cb" ++ show codeblocknum)
- else return id'
+ return (writerIdentifierPrefix opts ++ "cb" ++ show codeblocknum)
+ else return (writerIdentifierPrefix opts ++ id')
let tolhs = isEnabled Ext_literate_haskell opts &&
any (\c -> map toLower c == "haskell") classes &&
any (\c -> map toLower c == "literate") classes
@@ -800,7 +800,9 @@ blockToHtml opts (CodeBlock (id',classes,keyvals) rawCode) = do
addAttrs opts (id',classes,keyvals)
$ H.pre $ H.code $ toHtml adjCode
Right h -> modify (\st -> st{ stHighlighting = True }) >>
- addAttrs opts (id'',[],keyvals) h
+ -- we set writerIdentifierPrefix to "" since id'' already
+ -- includes it:
+ addAttrs opts{writerIdentifierPrefix = ""} (id'',[],keyvals) h
blockToHtml opts (BlockQuote blocks) = do
-- in S5, treat list in blockquote specially
-- if default is incremental, make it nonincremental;
diff --git a/test/command/5650.md b/test/command/5650.md
new file mode 100644
index 000000000..0618f415f
--- /dev/null
+++ b/test/command/5650.md
@@ -0,0 +1,22 @@
+````
+% pandoc --id-prefix foo
+```haskell
+a
+b
+```
+^D
+<div class="sourceCode" id="foocb1"><pre class="sourceCode haskell"><code class="sourceCode haskell"><span id="foocb1-1"><a href="#foocb1-1"></a>a</span>
+<span id="foocb1-2"><a href="#foocb1-2"></a>b</span></code></pre></div>
+````
+
+````
+% pandoc --id-prefix foo
+``` {.haskell #bar}
+a
+b
+```
+^D
+<div class="sourceCode" id="foobar"><pre class="sourceCode haskell"><code class="sourceCode haskell"><span id="foobar-1"><a href="#foobar-1"></a>a</span>
+<span id="foobar-2"><a href="#foobar-2"></a>b</span></code></pre></div>
+````
+