Hi,

Emanuele Santoro <m...@santoro.tk> writes:

> Hi there!
>
> I render the org-mode project of my website using HTML export
> functions.
>
> I created a three-columns layout by using the Bootstrap
> (http://getbootstrap.com/) and by wrapping the first three columns
> within a div element of class "row". 
>
> I do this by prepending and appending some static html via the #+HTML
> directive, as in:
>
>     #+HTML: <div class="row">
>
> and 
>
>     #+HTML: </div>
>
> Also, I set the HTML_CONTAINER variable to use proper css classes:
>
>     #+HTML_CONTAINER: div class="col-md-4"

Does this do what you want?

    * h
    :PROPERTIES:
    :HTML_CONTAINER_CLASS: col-md-4
    :END:
    p


> Now the problems arise:
>
> 1) I have noticed that when closing the headline tag, org will generate
> a syntactically wrong </div class="col-md-4"> tag. Most browser will
> ignore such mistakes but it's still annoying.
>
> 2) Everything works okay if there are three or less columns. When
> adding another column, I close the "row" container and open another
> one, by adding
>
>     #+HTML: </div>
>     #+HTML: <div class="row">
>
> But this code is rendered within the HTML code of the previous
> headline.
> In general, it is not clear "where" a piece of HTML will be rendered.
> Is there a way to specify that? Is there a way to say, like: "this piece
> of HTML is not part of the current headline and should be rendered after
> the last headline has been rendered" ?

I guess you could use a filter.  Perhaps the cleanest way would be to do
something like the following and use a filter to clean up row.  Perhaps
you could use a function similar to org-export-ignore-headlines in
ox-extra in contrib.

     * row
     :PROPERTIES:
     :HTML_CONTAINER_CLASS: row
     :END:
     ** h
         :PROPERTIES:
         :HTML_CONTAINER_CLASS: col-md-4
         :END:
         p
     ** h
         :PROPERTIES:
         :HTML_CONTAINER_CLASS: col-md-4
         :END:
         p

     ** h
         :PROPERTIES:
         :HTML_CONTAINER_CLASS: col-md-4
         :END:
         p

Hope it helps,
Rasmus

-- 
May contains speling mistake


Reply via email to