L'objectif est de créer un fichier html autonome lors de l'exportation depuis orgmode afin que les images soient intrinsèques au fichier et qu'un seul fichier html puisse être distribué (j'essaie de le faire pour une classe que j'enseigne et que je veux donner aux étudiants un seul html qu'ils peuvent ouvrir dans un navigateur).
J'ai trouvé un extrait de code en ligne qui donne l'idée de ce que je veux:
#+BEGIN_SRC python :results output html :exports results
with open('/home/britt/Pictures/Britt0001.jpg', 'rb') as image:
data = image.read()
print '<img src="data:image/jpg;base64,%s">' % data.encode("base64")
#+END_SRC
Et j'essaie de l'intégrer dans elisp et de supprimer ainsi la dépendance vis-à-vis de python et comme une étape vers la création de ma propre fonction elisp qui pourrait avoir plus de détails.
Voici à quoi je suis arrivé. Des conseils appréciés.
#+BEGIN_src elisp :results output html :exports results
(setq myim (concat "<img src=\\"data:image/jpg;base64," (tob64 "/home/britt/Pictures/Britt0001.jpg") ">"))
(print myim)
#+END_SRC
et où tob64
est
(defun tob64 (filename)
(base64-encode-string
(with-temp-buffer
(insert-file-contents filename)
(buffer-string))))
Cela ne donne pas la mise en forme et les citations correctes.
Le but à atteindre est une variante de l' org-html-export-to-html
endroit où la fonction elisp pourrait vivre et être invoquée lorsqu'une option comme #+OPTIONS: embed-images-on-html-export:t
était invoquée.
Et en passant, pourquoi la fonctionnalité d'export au format HTML avec des images intégrées n'existe-t-elle pas déjà en mode org? Y a-t-il un problème plus important qui rend cela problématique pour moi de travailler?
print
ouinsert
. Va maintenant lireformat
. Difficile de savoir quoi chercher quand on ne connaît pas le nom des choses. Explorera vos conseils sur l'utilisation du crochet. Cela ne ressemble-t-il pas à quelque chose qui en vaut la peine?