Revert "ox-html: Use <img> tags for svgs, not <object>"

This reverts commit d96e897579.

See https://orgmode.org/list/87r0dy3u91.fsf@localhost
This commit is contained in:
Ihor Radchenko 2024-05-22 11:01:05 +02:00
parent 895a367a67
commit 302bc6393a
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 37 additions and 12 deletions

View File

@ -1772,6 +1772,8 @@ SOURCE is a string specifying the location of the image.
ATTRIBUTES is a plist, as returned by
`org-export-read-attribute'. INFO is a plist used as
a communication channel."
(if (string= "svg" (file-name-extension source))
(org-html--svg-image source attributes info)
(org-html-close-tag
"img"
(org-html--make-attribute-string
@ -1783,7 +1785,30 @@ a communication channel."
(org-find-text-property-in-string 'org-latex-src source))
(file-name-nondirectory source)))
attributes))
info))
info)))
(defun org-html--svg-image (source attributes info)
"Return \"object\" embedding svg file SOURCE with given ATTRIBUTES.
INFO is a plist used as a communication channel.
The special attribute \"fallback\" can be used to specify a
fallback image file to use if the object embedding is not
supported. CSS class \"org-svg\" is assigned as the class of the
object unless a different class is specified with an attribute."
(let ((fallback (plist-get attributes :fallback))
(attrs (org-html--make-attribute-string
(org-combine-plists
;; Remove fallback attribute, which is not meant to
;; appear directly in the attributes string, and
;; provide a default class if none is set.
'(:class "org-svg") attributes '(:fallback nil)))))
(format "<object type=\"image/svg+xml\" data=\"%s\" %s>\n%s</object>"
source
attrs
(if fallback
(org-html-close-tag
"img" (format "src=\"%s\" %s" fallback attrs) info)
"Sorry, your browser does not support SVG."))))
(defun org-html--textarea-block (element)
"Transcode ELEMENT into a textarea block.