L'obiettivo è creare un file html autonomo quando si esporta da orgmode in modo che le immagini siano intrinseche al file e che sia possibile distribuire un singolo file html (sto cercando di farlo per una classe che insegno e voglio dare agli studenti un singolo HTML che possono aprire in un browser).
Ho trovato uno snippet di codice online che dà l'idea di ciò che voglio:
#+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
E sto provando a metterlo in elisp e quindi rimuovere la dipendenza da python e come passo per creare la mia funzione elisp che potrebbe avere qualche dettaglio in più.
Ecco cosa ho avuto. Consiglio apprezzato.
#+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
e dove tob64
è
(defun tob64 (filename)
(base64-encode-string
(with-temp-buffer
(insert-file-contents filename)
(buffer-string))))
Ciò non fornisce la formattazione e le quotazioni corrette.
L'obiettivo su cui lavorare è una variante di org-html-export-to-html
dove la funzione elisp potrebbe vivere e essere invocata quando è #+OPTIONS: embed-images-on-html-export:t
stata invocata un'opzione simile .
E a parte questo, perché la funzionalità di esportazione in HTML con immagini incorporate non esiste già in modalità organizzazione? C'è qualche problema più grande che rende questo problematico a cui sto lavorando?
print
oinsert
. Ora continuerò a leggereformat
. Difficile sapere cosa cercare quando non si conoscono i nomi delle cose. Esplorerai i tuoi consigli sull'uso del gancio. Non sembra qualcosa che vale la pena avere però?