public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: Christophe Demko <chdemko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Inline SVG in markdown, converted to ODT
Date: Sat, 12 Aug 2023 11:01:25 -0700 (PDT)	[thread overview]
Message-ID: <97837349-aaf9-419d-98ca-e793c96beef1n@googlegroups.com> (raw)
In-Reply-To: <fe366afd-808e-4356-a328-9892b6c8b136n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 4093 bytes --]


$ pandoc -t native ![SVG Image](data:image/svg+xml;charset=utf-8,<?xml 
version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" 
<http://www.w3.org/2000/svg> width="100" height="100" viewBox="-150 -150 
300 300"><rect x="-100" y="-100" rx="8" ry="8" width="200" height="200" 
style="fill:#CCCCFF;stroke:#000099"/></svg>) [ Figure ( "" , [] , [] ) 
(Caption Nothing [ Plain [ Str "SVG" , Space , Str "Image" ] ]) [ Plain [ 
Image ( "" , [] , [] ) [ Str "SVG" , Space , Str "Image" ] ( 
"data:image/svg+xml;charset=utf-8,%3C?xml%20version=%221.0%22?%3E%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22100%22%20height=%22100%22%20viewBox=%22-150%20-150%20300%20300%22%3E%3Crect%20x=%22-100%22%20y=%22-100%22%20rx=%228%22%20ry=%228%22%20width=%22200%22%20height=%22200%22%20style=%22fill:#CCCCFF;stroke:#000099%22/%3E%3C/svg%3E" 
, "" ) ] ] ]

Le samedi 12 août 2023 à 19:59:59 UTC+2, Christophe Demko a écrit :

> It's because pandoc converts the URL of an image using HTML encoding and 
> does not the reverse job while producing output.
>
> Le samedi 12 août 2023 à 19:42:38 UTC+2, nopria a écrit :
>
>> Yes it's an option, but I would like to understand why using plain text 
>> does not work.
>>
>> Il giorno venerdì 11 agosto 2023 alle 12:23:32 UTC+2 Christophe Demko ha 
>> scritto:
>>
>>> You could write a filter that convert a Inline SVG image defined by 
>>> plain text into a Inline SVG image defined by BASE64
>>>
>>> Le jeudi 10 août 2023 à 15:39:40 UTC+2, nopria a écrit :
>>>
>>>> Following other tentatives 
>>>> <https://github.com/jgm/pandoc/issues/4058#issuecomment-908942852> of 
>>>> markdown to DOCX conversion containing external SVG, I tried to convert to 
>>>> ODT a markdown containing **inline** SVG, such as the one below:
>>>>
>>>> # Example document
>>>>
>>>> This is an example of Markdown document with inline embedded SVG images.
>>>>
>>>> Inline SVG image defined by plain text:
>>>>
>>>> ![SVG Image](data:image/svg+xml;charset=utf-8,<?xml version="1.0"?><svg 
>>>> xmlns="http://www.w3.org/2000/svg" width="100" height="100" 
>>>> viewBox="-150 -150 300 300"><rect x="-100" y="-100" rx="8" ry="8" 
>>>> width="200" height="200" style="fill:#CCCCFF;stroke:#000099"/></svg>)
>>>>
>>>> Inline SVG image defined by BASE64 converted text:
>>>>
>>>> ![SVG 
>>>> Image](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSItMTUwIC0xNTAgMzAwIDMwMCI+PHJlY3QgeD0iLTEwMCIgeT0iLTEwMCIgcng9IjgiIHJ5PSI4IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgc3R5bGU9ImZpbGw6I0NDQ0NGRjtzdHJva2U6IzAwMDA5OSIvPjwvc3ZnPg==)
>>>>
>>>> Some math to check if it works;
>>>>
>>>> $$A_c = 23 r^2 - v$$
>>>>
>>>> using command
>>>>
>>>> pandoc example.md -o example.odt
>>>>
>>>> with Pandoc 3.1.6.1. As you may confirm yourself, the BASE64 inline SVG 
>>>> is correctly converted, while the textual inline SVG is not displayed in 
>>>> the resulting ODT and the following warning appears at conversion:
>>>>
>>>> [WARNING] Could not fetch resource data:image/svg+xml;charset=utf-8 ...
>>>>
>>>> Given that a BASE64 inline SVG is enough to do the job, I would prefer 
>>>> to avoid the BASE64 conversion and go with the plain text inline SVG.
>>>>
>>>> I already tried html encoding of SVG text and uppercase "utf8" without 
>>>> success.
>>>>
>>>> I choose ODT because it's open and because it seems to display SVG 
>>>> natively without needing PNG conversion (I hope it works with more complex 
>>>> SVG too), which is a great feature.
>>>>
>>>> Thank in advance for your time.
>>>>
>>>

-- 
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/97837349-aaf9-419d-98ca-e793c96beef1n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 6706 bytes --]

  parent reply	other threads:[~2023-08-12 18:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-10 13:39 nopria
     [not found] ` <3ed4f0e5-ad35-4aaa-81c8-4e5766b88896n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-11 10:23   ` Christophe Demko
     [not found]     ` <181d94a6-f783-45a6-8d93-284a6674b977n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-12 17:42       ` nopria
     [not found]         ` <b23470f2-112a-43e2-bf91-b484984c580cn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-12 17:59           ` Christophe Demko
     [not found]             ` <fe366afd-808e-4356-a328-9892b6c8b136n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-12 18:01               ` Christophe Demko [this message]
     [not found]                 ` <97837349-aaf9-419d-98ca-e793c96beef1n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-13  5:38                   ` nopria
     [not found]                     ` <571445b9-922a-4dd8-8228-d3a3ad445e55n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-08-13 15:45                       ` Christophe Demko

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=97837349-aaf9-419d-98ca-e793c96beef1n@googlegroups.com \
    --to=chdemko-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=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).