Markdown writer: preserve figure attributes

0d2114e introduced a bug where Markdown writer would ignore attributes
on the figure if it has class or key-value attributes set.

This commit fixes that and adds a regression test.

Closes #10867
This commit is contained in:
Nikolay Yakimov
2025-05-24 21:41:45 +04:00
committed by John MacFarlane
parent 28e01fac74
commit 8d93cd7949
2 changed files with 26 additions and 1 deletions
-1
View File
@@ -721,7 +721,6 @@ blockToMarkdown' opts (Figure figattr capt body) = do
let combinedAttr imgattr = case imgattr of
("", cls, kv)
| (figid, [], []) <- figattr -> Just (figid, cls, kv)
| otherwise -> Just ("", cls, kv)
_ -> Nothing
let combinedAlt alt = case capt of
Caption Nothing [] -> if null alt
+26
View File
@@ -0,0 +1,26 @@
```
% pandoc -f native -t markdown-raw_html
[ Figure
( "fig:foo" , [] , [ ( "label" , "1.1" ) ] )
(Caption
Nothing
[ Plain
[ Str "Figure" , Space , Str "1.1:" , Space , Str "Figure" ]
])
[ Plain
[ Image
( "" , [] , [] )
[ Str "Figure" , Space , Str "1.1:" , Space , Str "Figure" ]
( "./image.png" , "" )
]
]
]
^D
:::: {#fig:foo .figure label="1.1"}
![Figure 1.1: Figure](./image.png)
::: caption
Figure 1.1: Figure
:::
::::
```