branch: externals-release/org commit 77e77f051ca536256c636c760cafb29027db5f20 Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
Reapply "ox-html: Use <img> tags for svgs, not <object>" This reverts commit 302bc6393a11bae823da297c073f76633a591721. It turns out that <object ...> tags with data pointing outside the website are not rendered by the modern qtwebengine (linked svgs in https://orgmode.org/tools.html are not rendered). Even though Firefox does render the same page, it no longer appears safe to use <object ...> for svg. So, we have to use <img...> with its limitations. --- lisp/ox-html.el | 49 ++++++++++++------------------------------------- 1 file changed, 12 insertions(+), 37 deletions(-) diff --git a/lisp/ox-html.el b/lisp/ox-html.el index b4ac836012..417527b5b2 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -1772,43 +1772,18 @@ 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 - (org-combine-plists - (list :src source - :alt (if (string-match-p - (concat "^" org-preview-latex-image-directory) source) - (org-html-encode-plain-text - (org-find-text-property-in-string 'org-latex-src source)) - (file-name-nondirectory source))) - attributes)) - 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.")))) + (org-html-close-tag + "img" + (org-html--make-attribute-string + (org-combine-plists + (list :src source + :alt (if (string-match-p + (concat "^" org-preview-latex-image-directory) source) + (org-html-encode-plain-text + (org-find-text-property-in-string 'org-latex-src source)) + (file-name-nondirectory source))) + attributes)) + info)) (defun org-html--textarea-block (element) "Transcode ELEMENT into a textarea block.