> Admittedly I don't know what transformation are required by the html5 > presentation mechanism, however I would think that an approach like that > taken in org-export-as-s5 [1], in which the existing org-export-as-html > is simply wrapped in a let-form which sets variable values uses hooks to > post-process, should be the simplest and would leverage as much of the > existing machinery as possible.
To strengthen my argument for the generic backend agnostic driver in org-odt branch, here are few concrete examples from org-s5. org-s5 requires an insider understanding (see [1]) of what org does in the background. Using my exporter wouldn't place such a huge responsibility on the user part. With [2] in mind, `org-export-content-div' on the current org-html.el be "redefined". [3] could also be elegantly handled with the new driver. Let me re-iterate, I strongly urge that such one-off solutions be built on top of html exporter in org-odt branch. It will help make the new backend-agnostic driver evolve and more usable. Everyone would benefit. While we are on the topic of presentations, let me add that with my new exporter building a html/odt presentations along OpenOffice lines [4] would be quite easy. That is one can make a generic presentation driver out of the existing document driver. IMHO let's not fallback on hacks when elegant solutions are readily available. Let me note that I am not interested in presentations so much as to build a patch for or improve org-s5/org-html5. In effect, my argument is for embracing and extending the org-html/org-odt and help it evolve in more useful ways. ps: I recognize that org-s5 creates useful presentations and gets the job done. Footnotes: [1] Snippet of org-s5 --8<---------------cut here---------------start------------->8--- (org-export-preprocess-hook (list (lambda () (let ((class "slide")) (org-map-entries (lambda () (save-excursion (org-back-to-heading t) (when (= (car (org-heading-components)) 1) (put-text-property (point-at-bol) (point-at-eol) 'html-container-class class))))))))) --8<---------------cut here---------------end--------------->8--- [2] --8<---------------cut here---------------start------------->8--- (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))))))) --8<---------------cut here---------------end--------------->8--- [3] (lambda () (save-excursion (replace-regexp (regexp-quote "<div id=\"table-of-contents\">") "<div id=\"table-of-contents\" class=\"slide\">"))) [4] http://wiki.services.openoffice.org/wiki/Documentation/OOoAuthors_User_Manual/Impress_Guide/Creating_slides_from_an_outline > > Best -- Eric > > Footnotes: > [1] https://github.com/eschulte/org-S5/blob/master/org-export-as-s5.el#L17 --