diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2019-07-18 22:08:37 -0700 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2019-07-18 22:08:37 -0700 |
| commit | 5c655e86d5d34172bc5892927309d8dff6023493 (patch) | |
| tree | dd9abef88ac06f572274de54b3a30b847cbd23ae | |
| parent | 4d65bbf0dfac37c91214ebfb502481aa1c20c8be (diff) | |
| download | pandoc-5c655e86d5d34172bc5892927309d8dff6023493.tar.gz | |
HTML writer: ensure that line numbers in code blocks get id-prefix.
Closes #5650.
| -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> +```` + |
