Here is a quick patch.  Not meant to be applied but meant for testing
purpose only.

So there is a html backend which doesn't add divs and there is a HTML
backend that adds divs. (The difference is between html and HTML, in
capslock).  

The `org-export-dispatch' uses HTML backend, while you can continue to
derive from html backend and add divs of your own.

Try this patch and let me know what you find.  Or you can circulate a
make-shift patch which improves the attached version to suit your needs.

I can formalize this patch once I get a go ahead from you.

Attachment: binmWgmVqdIhy.bin
Description: ox-html.el.diff



Jambunathan K <kjambunat...@gmail.com> writes:

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

-- 

Reply via email to