The <div> </div> aren't really content elements but merely structuring or styling elements.
I think there should be a clear separation between contents and how it is wrapped. The base HTML exporter should just generate content with no divs at all. There could be a fancy HTML exporter which does generate divs. I can think of "splitting" the current HTML exporter in to a base-html backend and an fancy-html backend. Rick can derive from base-html backend instead of fancy-html. The current HTML exporter is one in the circle. --------- ---/ \--- -/ \- / \ / Org Factory HTML \ Deck HTML / (adds factory divs) \ | / | \ | | | +-----------+-------------+ | | | | | V V | \ Base HTML / \ (no divs) / \ / \ / -\ /- ---\ /--- --------- The problem here is much similar to what Torrey was saying in other thread wrt to TOC "pseudo"-elements [1]. The Id property is not the TOC itself but enhances (or particularizes) that specific transoding. Nicolas, Let me work with Rick Frankel on this. I will take over this thread. Jambunathan K. Rick Frankel <r...@rickster.com> writes: > On Tue, Mar 05, 2013 at 09:16:16AM +0100, Nicolas Goaziou wrote: >> Rick Frankel <r...@rickster.com> writes: > >> > On the other hand, it would be easier if ox-html were modified so that >> > org-html-headline uses a variable (or callback) for the format of the >> > wrapper (currently "<div id=\"%s...") and a callback for the div id >> > generation. This would add flexibility for inherited backends as well >> > as allow for more "html5ish" structures (e.g., <section> and <article> >> > instead of generic <divs>). >> >> Wouldn't it be simpler to just fork `org-html-headline' in your back-end >> in order to replace the divs with something you need? > > Well, `org-html-headline' does a lot and I'm trying to rewrite as > little as possible. Actually, i already wrap `org-html-headline', so i > could fix the :CUSTOM_ID on the way in. I think i was looking for a > solution to both the wrapper element and id in the same place (a > filter). > >> On the other hand, there are a couple of variables providing a way to >> modify divs ids in ox-html.el. I suppose one more doesn't hurt. It may >> be even better to collect them in a single defcustom. >> >> What do you think? > > What I think is missing is a way to customize the element used for the > wrapper, and possiblly the id/class prefixes. The simple solution > would be to add an `org-headline-wrapper-element' customization > (defaulting to "div"), or if allowing change to the id and class: > > '("div" "outline-container-%s" "outline-%d"). > > If you were to over-engineer it,something along the lines of the way > the latex exporter specifies the headline hierarchies for one of the > document classes would work :} > > Likewise, it would make sense for the `org-html-divs' to become a list > of '(element . class) instead of a list of just classes. e.e.g > > (defcustom org-html-divs '(("header" . "preamble") > ("section" . "content") > ("footer" . "postamble")) > > Rick > > --