diff options
-rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 8 | ||||
-rw-r--r-- | test/command/5650.md | 22 |
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> +```` + |