Tujuannya adalah untuk membuat file html mandiri ketika mengekspor dari orgmode sehingga gambar intrinsik ke file dan satu file html akan dapat didistribusikan (saya mencoba melakukan ini untuk kelas yang saya ajarkan dan ingin memberi siswa satu html yang bisa dibuka di browser).
Saya menemukan potongan kode on line yang memberikan ide tentang apa yang saya inginkan:
#+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
Dan saya mencoba untuk membuatnya menjadi elisp dan dengan demikian menghapus ketergantungan pada python dan sebagai langkah untuk membuat fungsi elisp saya sendiri yang dapat memiliki lebih banyak detail.
Inilah yang saya dapatkan. Nasihat dihargai.
#+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
dan di mana tob64
adalah
(defun tob64 (filename)
(base64-encode-string
(with-temp-buffer
(insert-file-contents filename)
(buffer-string))))
Ini tidak memberikan pemformatan dan penawaran yang benar.
Tujuan yang akan dikerjakan adalah beberapa varian di org-html-export-to-html
mana fungsi elisp bisa hidup dan dipanggil ketika opsi seperti #+OPTIONS: embed-images-on-html-export:t
dipanggil.
Dan sebagai tambahan, mengapa fungsi mengekspor ke html dengan gambar yang disematkan sudah ada dalam mode-org? Apakah ada masalah yang lebih besar yang membuat ini bermasalah untuk saya upayakan?
print
atauinsert
. Sekarang akan membacaformat
. Sulit untuk mengetahui apa yang harus dicari ketika Anda tidak tahu nama-nama benda. Akan mengeksplorasi saran Anda tentang cara menggunakan kail. Bukankah ini terdengar seperti sesuatu yang berharga?Dari utas reddit https://www.reddit.com/r/orgmode/comments/7dyywu/creating_a_selfcontained_html/
sumber
Sebagai alternatif, Anda dapat menggunakan paket ox-pandoc . Pandoc sendiri memiliki opsi baris perintah bernama --self-contained yang akan menyematkan gambar dalam html.
Untuk Anda menggunakan ini hanya untuk pandoc HTML5 eksportir, dengan meletakkan ini di .emacs Anda:
Selain itu, Anda juga bisa memilikinya untuk html4 / juga:
Atau menggunakan --self-contained untuk semua pandoc:
Perhatikan bahwa
(standalone . t)
bagian ini opsional, saya sertakan hanya karena ini kemudian mereplikasi default yang dimiliki pandoc. Anda bisa menghapusnya jika mau, atau menggantinya dengan set opsi Anda sendiri.Akhirnya, Anda dapat melakukan hal yang sama untuk satu file dengan menggunakan header:
#+PANDOC_OPTIONS: self-contained:t
sumber