|
@@ -1406,17 +1406,36 @@ 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."
|
|
|
- (org-html-close-tag
|
|
|
- "img"
|
|
|
- (org-html--make-attribute-string
|
|
|
- (org-combine-plists
|
|
|
- (list :src source
|
|
|
- :alt (if (string-match-p "^ltxpng/" source)
|
|
|
- (org-html-encode-plain-text
|
|
|
- (org-find-text-property-in-string 'org-latex-src source))
|
|
|
- (file-name-nondirectory source)))
|
|
|
- attributes))
|
|
|
- info))
|
|
|
+ (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 "^ltxpng/" 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\" appropriate for embedding svg file SOURCE
|
|
|
+with assoicated 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."
|
|
|
+ (let ((fallback (plist-get attributes :fallback))
|
|
|
+ (attrs (org-html--make-attribute-string
|
|
|
+ (plist-put 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.
|