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?Del hilo de reddit https://www.reddit.com/r/orgmode/comments/7dyywu/creating_a_selfcontained_html/
fuente
Como alternativa, puede usar el paquete ox-pandoc . Pandoc tiene una opción de línea de comando llamada - autónoma que incrustará imágenes en html.
Para usar esto solo para el exportador de pandoc HTML5, poniéndolo en su .emacs:
Además, podría tenerlo para html4 en su lugar / también:
O para usar - autónomo para todos los pandoc:
Tenga en cuenta que la
(standalone . t)
parte es opcional, incluyo solo porque esto replica los valores predeterminados que tiene pandoc. Puede eliminarlo si lo desea, o reemplazarlo con su propio conjunto de opciones.Finalmente, puede hacer lo mismo para un solo archivo utilizando el encabezado:
#+PANDOC_OPTIONS: self-contained:t
fuente