Couple of comments wrt org-export-content-div: 1. Should be renamed to org-export-html-content-div
2. If we look at org-s5.el[1], we see the following usage where apparently <div id="content"> is essentially replaced by "<div class="presentation"> with a bunch of leading and trailing stuff. #+begin_src emacs-lisp (lambda () (save-excursion (replace-regexp (regexp-quote "<div id=\"content\">") (let ((info `(("author" . ,author) ("title" . ,title) ("date" . ,(substring date 0 10))))) (join `("<div class=\"layout\">" "<div id=\"controls\"><!-- no edit --></div>" "<div id=\"currentSlide\"><!-- no edit --></div>" "<div id=\"header\"></div>" "<div id=\"footer\">" ,(org-fill-template org-s5-title-string-fmt info) "</div>" "</div>" "" "<div class=\"presentation\">" ,(org-fill-template org-s5-title-page-fmt info))))))) #+end_src 3. Considering (2) above it might be worthwhile defining the customization as below (for a first cut) #+begin_src emacs-lisp (defcustom org-export-html-content-div "%s <div %s> %s" ; note the html in prefix "The name of the container DIV that holds all the page contents." :group 'org-export-htmlize :type 'string) #+end_src With the above re-definition I believe there is an opportunity to suck #+begin_src emacs-lisp-mode (if (or link-up link-home) (concat (format org-export-html-home/up-format (or link-up link-home) (or link-home link-up)) "\n") "") #+end_src and even the entire preamble in to #+begin_src emacs-lisp (when (plist-get opt-plist :html-preamble) ;; etc etc etc ) #+end_src the suffix %s in the above custom definition. Or alternatively one can suck the suffix "%s" in to preamble string. Just a thought. WDYT. Jambunathan K. Footnotes: [1] https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el at around line 60 or so. --