Saya cukup sering mengekspor file mode-org, dan hampir semuanya memiliki kode di dalamnya. Ketika saya melakukan kode ekspor, akhirnya mewarnai teks tergantung pada tema saya, namun, saya beralih antara tema gelap dan tema terang secara teratur. Dalam hal tema terang, <code>
blok harus memiliki latar belakang terang, dan untuk tema gelap mereka harus memiliki latar belakang gelap (jika tidak saya berakhir dengan teks kuning muda pada latar belakang keabu-abuan dan tidak dapat dibaca).
Saya harus menambahkan baris ini untuk latar belakang gelap:
#+HTML_HEAD: <style>pre.src {background-color: #303030; color: #e5e5e5;}</style>
Dan kemudian ingat untuk menghapusnya setiap kali saya beralih ke latar belakang berwarna terang
Apakah ada cara saya dapat secara otomatis mendeteksi warna latar belakang tema saat ini pada waktu ekspor dan menggunakannya dalam CSS HTML yang diekspor?
EDIT
Saya setuju dengan jawaban Jordon (terima kasih Jordon, Anda mendapatkan poin karma!), Namun saya ingin memposting solusi yang akhirnya saya tambahkan ke kode saya, karena itu adalah versi modifikasi dari jawabannya:
(defun my/org-inline-css-hook (exporter)
"Insert custom inline css to automatically set the
background of code to whatever theme I'm using's background"
(when (eq exporter 'html)
(let* ((my-pre-bg (face-background 'default))
(my-pre-fg (face-foreground 'default)))
(setq
org-html-head-extra
(concat
org-html-head-extra
(format "<style type=\"text/css\">\n pre.src {background-color: %s; color: %s;}</style>\n"
my-pre-bg my-pre-fg))))))
(add-hook 'org-export-before-processing-hook 'my/org-inline-css-hook)
Ini tidak hanya mengatur warna latar belakang, tetapi juga warna latar depan. Itu juga menambahkan baris ke org-html-head-extra
pengaturan yang ada sehingga HTML lain tidak ditimpa secara tidak sengaja. Saya sudah menguji dan ini bekerja bagus untuk saya!
disable-theme
), saya tidak ingin harus me-restart Emacs dengan tema terpisah hanya untuk mengekspor HTML, yang saya lakukan berkali-kali sehari.
org-html-head-extra
akan ditambahkan ke, menyebabkan pertumbuhan tanpa batas, meskipun fungsi gaya tidak akan terganggu.