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 --]
next prev 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).