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.
--