mirror of
https://github.com/correl/correl.github.io.git
synced 2024-12-29 11:09:24 +00:00
Correl Roush
966a3248a4
This will be removed once travis-ci can take care of running emacs & ox-hugo.
1.2 KiB
1.2 KiB
+++ title = "Use a different theme when publishing Org files" author = ["Correl Roush"] date = 2016-02-23T00:00:00-05:00 keywords = ["emacs", "org-mode", "themes"] tags = ["emacs", "org-mode"] draft = false +++
I've been using material-theme lately, and I sometimes switch around, but I've found that solarized produces the best exported code block results. To avoid having to remember to switch themes when exporting, I wrote a quick wrapper for org-export to do it for me:
(defun my/with-theme (theme fn &rest args)
(let ((current-themes custom-enabled-themes))
(mapcar #'disable-theme custom-enabled-themes)
(load-theme theme t)
(let ((result (apply fn args)))
(mapcar #'disable-theme custom-enabled-themes)
(mapcar (lambda (theme) (load-theme theme t)) current-themes)
result)))
(advice-add #'org-export-to-file :around (apply-partially #'my/with-theme 'solarized-dark))
(advice-add #'org-export-to-buffer :around (apply-partially #'my/with-theme 'solarized-dark))
Voilà, no more bizarrely formatted code block exports from whatever theme I might have loaded at the time :)