diff --git a/news/changelog-1.5.md b/news/changelog-1.5.md index b5483dbd53b..8edb9527103 100644 --- a/news/changelog-1.5.md +++ b/news/changelog-1.5.md @@ -49,6 +49,7 @@ All changes included in 1.5: ## Powerpoint Format +- ([#8667](https://github.com/quarto-dev/quarto-cli/issues/8667)): Fix regression with `FloatRefTarget` nodes in PPTX output. - ([#9680](https://github.com/quarto-dev/quarto-cli/issues/9680), [#9681](https://github.com/quarto-dev/quarto-cli/issues/9681)): Fix issues with HTML tables parsed by Quarto when converting to powerpoint presentations. ## Interactive Document diff --git a/src/resources/filters/customnodes/floatreftarget.lua b/src/resources/filters/customnodes/floatreftarget.lua index e71e4333acb..c2ba4a36fa5 100644 --- a/src/resources/filters/customnodes/floatreftarget.lua +++ b/src/resources/filters/customnodes/floatreftarget.lua @@ -1050,4 +1050,21 @@ end, function(float) end end) +_quarto.ast.add_renderer("FloatRefTarget", function(_) + return _quarto.format.is_powerpoint_output() +end, function(float) + if float.content == nil then + warn("Can't render float without content") + return pandoc.Null() + end + local im = quarto.utils.match("Plain/[1]/Image")(float.content) + if im == nil then + warn("PowerPoint output for FloatRefTargets require a single image as content") + return pandoc.Null() + end + decorate_caption_with_crossref(float) + im.caption = quarto.utils.as_inlines(float.caption_long) + return pandoc.Para({im}) +end) + global_table_guid_id = 0 \ No newline at end of file diff --git a/tests/docs/smoke-all/2024/06/24/8667.qmd b/tests/docs/smoke-all/2024/06/24/8667.qmd new file mode 100644 index 00000000000..4c2ccbca2a2 --- /dev/null +++ b/tests/docs/smoke-all/2024/06/24/8667.qmd @@ -0,0 +1,9 @@ +--- +format: pptx +--- + +## Slide Title + +The text "Figure Caption" is not shown in Powerpoint output. + +![Figure Caption](./assets/existing-image.jpg){#fig-figure} \ No newline at end of file diff --git a/tests/docs/smoke-all/2024/06/24/assets/existing-image.jpg b/tests/docs/smoke-all/2024/06/24/assets/existing-image.jpg new file mode 100644 index 00000000000..ef05c84dbf8 Binary files /dev/null and b/tests/docs/smoke-all/2024/06/24/assets/existing-image.jpg differ