Something like this should work? The change to attributes() is a hack to use 'data-scale' rather than 'scale' and the change to Image() is to insert the alt text and the attributes. The main change is the new Figure() function (oops... I see that I'm ignoring its attributes).

% git diff -w
diff --git a/confluence.lua b/confluence.lua
index 3057d10..1a7d8ef 100644
--- a/confluence.lua
+++ b/confluence.lua
@@ -38,7 +38,9 @@ local function attributes(attr)
   local attr_table = {}
   for x,y in pairs(attr) do
       if y and y ~= "" then
-      table.insert(attr_table, ' ' .. x .. '="' .. escape(y,true) .. '"')
+          local p = ""
+          if x == "scale" then p = "data-" end
+      table.insert(attr_table, ' ' .. p .. x .. '="' .. escape(y,true) .. '"')
     end
   end
   return table.concat(attr_table)
@@ -162,7 +164,7 @@ end
 
 function Image(s, src, tit, attr)
   return "<img src='" .. escape(src,true) .. "' title='" ..
-         escape(tit,true) .. "'/>"
+      escape(tit,true) .. "' alt='" .. s .. "'" .. attributes(attr)  .. "/>"
 end
 
 function Code(s, attr)
@@ -330,6 +332,14 @@ function CaptionedImage(src, tit, caption, attr)
    return Div('<table><tbody><tr><td><ac:image><ri:attachment ri:filename="' .. escape(src,true) .. '" /></ac:image></td></tr><tr><td>' .. escape(caption) .. '</td></tr></tbody></table>', attr_cpy)
 end
 
+
+function Figure(caption, image, attr)
+    local figcaption = '<figcaption aria-hidden="true">' ..
+        caption .. "</figcaption>"
+    return "<figure>\n" .. image .. "\n" .. figcaption .. "\n" .. "</figure>"
+end
+
+
 -- Caption is a string, aligns is an array of strings,
 -- widths is an array of floats, headers is an array of
 -- strings, rows is an array of arrays of strings.
@@ -411,4 +421,3 @@ meta.__index =
     return function() return "" end
   end
 setmetatable(_G, meta)
-


On Tue, 28 Nov 2023 at 17:31, William Lupton <wlupton@broadband-forum.org> wrote:
The Figure element was added in 3.0: search https://pandoc.org/releases.html for "Support complex figures" for full details.

So I think that your Confluence writer needs to be updated! I see that it has a CaptionedImage function and suspect that this will no longer be called, and that the needs-to-be-added Figure function will get called instead, but probably not with exactly the same arguments.

Are you OK with hacking this? I don't mind having a go if not... let me know!

On Tue, 28 Nov 2023 at 17:04, Klaus R. <k-rindfrey-Mmb7MZpHnFY@public.gmane.org> wrote:
Hi,

To generate my documentation, I use a toolchain that generates a markdown file from various sources, the last step is the generation of Confluence HTML via Pandoc. Since Pandoc does not directly support Confluence HTML, I use a patched version of https://github.com/jpbarrette/pandoc-confluence-writer (patched because the generated HTMl is not always quite correct and some features I need are missing). This worked well for a long time, but after the last update (from Pandoc 2.19.2 to 3.1.8) I got a series of warnings:

WARNING: Undefined function 'Figure'
WARNING: Undefined function 'Figure'
...


and the HTML code for the images is completely missing. I tried Pandoc 3.1.9, same result. Confusing: the Lua code of pandoc-confluence-writer does not contain a call to a function named "Figure". Just to analyze the problem, i tried custom-markdown.lua from https://gist.github.com/tarleb/5a9c3fbfa47b0e6d3643efd8af2994b9 and i got:

Error running Lua:
custom-markdown.lua:19: No function to convert Figure (Block)


What's going on? Is this a bug in Pandoc? Is there a workaround?

At the moment I will be using version 2.19.2, but I would like to be able to upgrade to newer versions of Pandoc.

Minimal example:

# Example

Just an example.

![Fancy example](img/mypic.png){scale=70}



Regards,
Klaus

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/84b364a6-bbfe-4c9b-b825-d0f52557229fn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxjzpptPpYC9cAPP4GaSw32qmOA8d0KeV-8MsgyS8%3DQGMQ%40mail.gmail.com.