So exportieren Sie SVG-Bilder als <img…> im HTML-Export

8

Wenn ich einen org-modePuffer, der einen Link zu einem Bild enthält, nach HTML exportiere , wird der Link normalerweise zu einem richtigen HTML-Code verdeckt <img...>. Wenn dieses Bild jedoch eine .svgErweiterung hat, wird es <object...>stattdessen als exportiert .

Wie verhindere ich das?

Zum Beispiel der folgende Link:

[[file:https://clojars.org/malabarba/lazy-map/latest-version.svg]]

wird folgendermaßen exportiert:

<object type="image/svg+xml" data="https://clojars.org/malabarba/lazy-map/latest-version.svg" >
Sorry, your browser does not support SVG.</object>

Aber ich möchte, dass es so exportiert wird:

<img src="https://clojars.org/malabarba/lazy-map/latest-version.svg">
Malabarba
quelle

Antworten:

1

Die Verwendung eines :fallbackAttributs reicht fast aus:

#+ATTR_HTML: :fallback /tmp/toto.svg
[[file:/tmp/toto.svg]]

wird exportiert als:

<div class="figure">
<p><object type="image/svg+xml" data="file:///tmp/toto.svg" >
<img src="/tmp/toto.svg"  /></object>
</p>
</div>

Ansonsten scheint es einfach neu zu definieren oder Beratung org-html--format-imagein ox-html.el(aus irgendeinem Grund, es behandelt svg ist speziell).

Jean Pierre
quelle
Vielen Dank. Wenn niemand eine Konfigurationsoption dafür kennt, muss ich diese Funktion nur empfehlen.
Malabarba
@ Malabarba kannst du uns zeigen, wie du es geraten hast?
Linus Arver