Esportazione abbastanza spesso i file in modalità org e quasi tutti contengono codice. Quando eseguo il codice di esportazione, finisce per colorare il testo a seconda del mio tema, tuttavia, cambio regolarmente tra un tema scuro e un tema chiaro. Nel caso del tema chiaro, i <code>
blocchi devono avere uno sfondo chiaro, e per un tema scuro devono avere uno sfondo scuro (altrimenti finisco con un testo giallo chiaro su uno sfondo grigiastro ed è illeggibile).
Devo aggiungere questa linea per gli sfondi scuri:
#+HTML_HEAD: <style>pre.src {background-color: #303030; color: #e5e5e5;}</style>
E poi ricordati di rimuoverlo ogni volta che passo a uno sfondo di colore chiaro
Esiste un modo per rilevare automaticamente il colore di sfondo del tema corrente al momento dell'esportazione e utilizzarlo nel CSS esportato dell'HTML?
MODIFICARE
Vado con la risposta di Jordon (grazie Jordon, ottieni i punti karma!), Tuttavia volevo pubblicare la soluzione che ho finito per aggiungere al mio codice, poiché era una versione leggermente modificata della sua risposta:
(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)
Questo imposta non solo il colore di sfondo, ma anche il colore di primo piano. Aggiunge inoltre la linea org-html-head-extra
all'impostazione esistente in modo che l'altro HTML non venga sovrascritto accidentalmente. Ho provato e questo funziona alla grande per me!
disable-theme
), non voglio riavviare Emacs con un tema separato solo per esportare HTML, cosa che faccio più volte al giorno.
org-html-head-extra
viene aggiunto, portando a una crescita illimitata, sebbene la funzionalità dello stile non venga compromessa.