* Manipulate Image in DOCX -> HTML using Lua Filter @ 2019-08-09 19:53 Ken Dow [not found] ` <2ad2cd23-4cc0-4e2a-bf07-bd2f09e2ae03-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Ken Dow @ 2019-08-09 19:53 UTC (permalink / raw) To: pandoc-discuss [-- Attachment #1.1: Type: text/plain, Size: 754 bytes --] I'd like to modify the attributes of all images from a DOCX conversion to HTML in a Lua filter. So far: function Image(el) el.classes = {"image"} -- el.attributes = {"style", "mu"} return el end This el.classes line sets the `img` class = "image". The el.attributes line removes the `img` tag from the output. What am I missing? -- 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/2ad2cd23-4cc0-4e2a-bf07-bd2f09e2ae03%40googlegroups.com. [-- Attachment #1.2: Type: text/html, Size: 2421 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <2ad2cd23-4cc0-4e2a-bf07-bd2f09e2ae03-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* Re: Manipulate Image in DOCX -> HTML using Lua Filter [not found] ` <2ad2cd23-4cc0-4e2a-bf07-bd2f09e2ae03-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> @ 2019-08-10 12:41 ` Ken Dow [not found] ` <9c5993b8-c9ec-4b14-9702-f0279ace3e6f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Ken Dow @ 2019-08-10 12:41 UTC (permalink / raw) To: pandoc-discuss [-- Attachment #1.1: Type: text/plain, Size: 1245 bytes --] The following removes the `style="width100;height:100"` altogether, which is what I wanted: function Image(el) el.attributes = {} return el end But this doesn't set anything - it also completely removes the style attribute. So I still don't understand see how `el.attributes` is supposed to work for images: function Image(el) el.attributes = {["width"] = 101, ["height"] = 102} return el end On Friday, 9 August 2019 15:53:07 UTC-4, Ken Dow wrote: > > I'd like to modify the attributes of all images from a DOCX conversion to > HTML in a Lua filter. So far: > > function Image(el) > el.classes = {"image"} > -- el.attributes = {"style", "mu"} > return el > end > > > This el.classes line sets the `img` class = "image". The el.attributes > line removes the `img` tag from the output. What am I missing? > -- 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/9c5993b8-c9ec-4b14-9702-f0279ace3e6f%40googlegroups.com. [-- Attachment #1.2: Type: text/html, Size: 6891 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <9c5993b8-c9ec-4b14-9702-f0279ace3e6f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* Re: Manipulate Image in DOCX -> HTML using Lua Filter [not found] ` <9c5993b8-c9ec-4b14-9702-f0279ace3e6f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> @ 2019-08-10 17:07 ` Albert Krewinkel 0 siblings, 0 replies; 3+ messages in thread From: Albert Krewinkel @ 2019-08-10 17:07 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Ken Dow writes: > The following removes the `style="width100;height:100"` altogether, which is what I wanted: > > function Image(el) > el.attributes = {} > return el > end > > But this doesn't set anything - it also completely removes the style > attribute. So I still don't understand see how `el.attributes` is > supposed to work for images: > > function Image(el) > el.attributes = {["width"] = 101, ["height"] = 102} > return el > end Those are reasonable assumptions to make. The problems stems from the fact that `el.attributes` isn't actually a key-value table, but a list of tuples in disguise. Try this: el.attributes = {{"width", 101}, {"height", 102}} We do this to preserve attribute order, which is not possible with a plain key-value table. There is some Lua-magic in place which makes the attributes behave *as if* it was a key-value table, but it isn't. That is why pandoc gets confused here. Could you raise an issue over at https://github.com/jgm/pandoc/issues? Your code is absolutely reasonable and we should make it work in the way one would expect. PS: Alternative solution: go via the `Attr` function, which deals with these tables in the way you expected. function Image (img) img.attr = pandoc.Attr(img.id, img.classes, {width=100, height=100}) return img end -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-08-10 17:07 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-08-09 19:53 Manipulate Image in DOCX -> HTML using Lua Filter Ken Dow [not found] ` <2ad2cd23-4cc0-4e2a-bf07-bd2f09e2ae03-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2019-08-10 12:41 ` Ken Dow [not found] ` <9c5993b8-c9ec-4b14-9702-f0279ace3e6f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2019-08-10 17:07 ` Albert Krewinkel
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).