From: "'William Lupton' via pandoc-discuss" <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: How to resolve "WARNING: Undefined function 'Figure'"? Is there a workaround?
Date: Tue, 28 Nov 2023 19:33:33 +0000 [thread overview]
Message-ID: <CAEe_xxj2MwNy9-G21jAfSq15sA2OHMuBNFeVXTO4nvO7Sp_Wqw@mail.gmail.com> (raw)
In-Reply-To: <CAEe_xxjzpptPpYC9cAPP4GaSw32qmOA8d0KeV-8MsgyS8=QGMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 5380 bytes --]
Oh sorry, I didn't use the CaptionedImage() code... but I'm sure you get
the idea.
On Tue, 28 Nov 2023, 18:14 William Lupton, <wlupton-QSt+ys/nuMyEUIsrzH9SikB+6BGkLq7r@public.gmane.org>
wrote:
> 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-QSt+ys/nuMyEUIsrzH9SikB+6BGkLq7r@public.gmane.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:
>>>
>>>
>>>
>>>
>>>
>>> *# ExampleJust 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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
>>> <https://groups.google.com/d/msgid/pandoc-discuss/84b364a6-bbfe-4c9b-b825-d0f52557229fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
--
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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxj2MwNy9-G21jAfSq15sA2OHMuBNFeVXTO4nvO7Sp_Wqw%40mail.gmail.com.
[-- Attachment #2: Type: text/html, Size: 7811 bytes --]
next prev parent reply other threads:[~2023-11-28 19:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-28 17:03 Klaus R.
[not found] ` <84b364a6-bbfe-4c9b-b825-d0f52557229fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-11-28 17:31 ` 'William Lupton' via pandoc-discuss
[not found] ` <CAEe_xxg1bdy8nKFf1uY4NojPTxJgxTur-7Es5Y+rHMaXOtKeBA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-11-28 18:14 ` 'William Lupton' via pandoc-discuss
[not found] ` <CAEe_xxjzpptPpYC9cAPP4GaSw32qmOA8d0KeV-8MsgyS8=QGMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-11-28 19:33 ` 'William Lupton' via pandoc-discuss [this message]
[not found] ` <CAEe_xxj2MwNy9-G21jAfSq15sA2OHMuBNFeVXTO4nvO7Sp_Wqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-11-29 6:42 ` Aw: " Klaus Rindfrey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAEe_xxj2MwNy9-G21jAfSq15sA2OHMuBNFeVXTO4nvO7Sp_Wqw@mail.gmail.com \
--to=pandoc-discuss-/jypxa39uh5tlh3mbocffw@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).