El objetivo es hacer un archivo html autónomo al exportar desde orgmode para que las imágenes sean intrínsecas al archivo y se pueda distribuir un solo archivo html (estoy tratando de hacer esto para una clase que enseño y quiero darles a los estudiantes un solo html que pueden abrir en un navegador).
Encontré un fragmento de código en línea que da la idea de lo que quiero:
#+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
Y estoy tratando de ponerlo en elisp y así eliminar la dependencia de Python y como un paso para crear mi propia función de elisp que podría tener más detalles.
Esto es lo que he llegado a hacer. Consejos apreciados.
#+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
y donde tob64
esta
(defun tob64 (filename)
(base64-encode-string
(with-temp-buffer
(insert-file-contents filename)
(buffer-string))))
Esto no da el formato y las citas correctas.
El objetivo para trabajar es alguna variante de org-html-export-to-html
dónde podría vivir la función elisp y ser invocada cuando se invocó una opción como #+OPTIONS: embed-images-on-html-export:t
.
Y además, ¿por qué la funcionalidad de exportar a html con imágenes incrustadas ya no existe en modo org? ¿Hay algún problema mayor que haga que esto sea problemático para mí?
print
oinsert
. Ahora leerá sobreformat
. Es difícil saber qué buscar cuando no conoce los nombres de las cosas. Explorará sus consejos sobre el uso del gancho. ¿No suena esto como algo que vale la pena tener?