From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Re: export and containers Date: Mon, 02 Mar 2009 19:54:57 +0100 Message-ID: <87hc2boiv2.fsf@kassiopeya.MSHEIMNETZ> References: <49a91200.1438560a.6867.ffffb3e4@mx.google.com> <87eixikd1u.fsf@kassiopeya.MSHEIMNETZ> <49ab92ef.0407560a.4681.543e@mx.google.com> <87vdqsz31c.fsf@kassiopeya.MSHEIMNETZ> <95B3F1B7-98EE-4831-9FB3-1B7D34598061@uva.nl> <87iqmsyw4o.fsf@kassiopeya.MSHEIMNETZ> <3B159DE3-C418-41C8-9422-E0743D789E2E@uva.nl> <87r61f7w3r.fsf@kassiopeya.MSHEIMNETZ> <8296CDBB-B545-4819-99A5-58EDD20DC7DC@uva.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LeDFD-0002cX-Sa for emacs-orgmode@gnu.org; Mon, 02 Mar 2009 13:52:04 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LeDFC-0002aj-5E for emacs-orgmode@gnu.org; Mon, 02 Mar 2009 13:52:02 -0500 Received: from [199.232.76.173] (port=60295 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LeDFC-0002aa-1a for emacs-orgmode@gnu.org; Mon, 02 Mar 2009 13:52:02 -0500 Received: from mail.gmx.net ([213.165.64.20]:44419) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1LeDFA-0003Eb-VI for emacs-orgmode@gnu.org; Mon, 02 Mar 2009 13:52:01 -0500 In-Reply-To: <8296CDBB-B545-4819-99A5-58EDD20DC7DC@uva.nl> (Carsten Dominik's message of "Mon, 2 Mar 2009 18:03:47 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: org-mode , Richard Riley Carsten Dominik writes: > On Mar 2, 2009, at 5:00 PM, Sebastian Rose wrote: > >> >> OK - I failed badly :-( >> >> I think we can skip the extra
element around the TOC. >> >> Here's why: >> >> As it looks now, the problem with the fixed TOC does not go away. My >> old trick seems to work only for HTML doctype and/or tables... Should >> have tested that one before... >> >> So until now it's not getting any better - but more complicated. >> >> And all those stlyes in the stylesheet become confusing :-/ >> >> The main problem is the height of the TOC on orgmode.org. The
>> element grows and shrinks in height when we resize the window. >> Unfortunately, we can't set the height property to 100% because of the >> unicorn. Instead I set it to 60% to support Netbooks - but 60% will be >> too high if the window is resized to be under a certain height. And >> 60% is low, if the window fills a bigger screen (> 17') >> >> Seems I can't solve that by adding structural elements. The only >> element I could think of would be a table with height=100% and the >> unicorn in the first row (fixed height), TOC in the second row (no >> height property). >> >> >> Most of this seems to be true for the other containers I thought of. >> >> >> Just one around everything and one around the all the sections and >> footnotes seems to make sense so far. > > > So one that wraps everything in body. OK, let's call it "content". > > And then one that does contains the sections and footnotes, but > not the title, preamble, and postamble? Am I understanding this > correctly? Just the outer one then. As long as noone uses an container we shouldn't add it. Even the inner one with all the sections is merely a matter of taste. What do you think about the hook idea in my previous mail? Was that to weired? It thought that would make complex layouts possible without poluting the *.org sources with things like @
.... and would keep org-exp.el simple too. Best, Sebastian > - Carsten > > > > >> >> >> >> >> >> Maybe someone finds another way of `skinning' the XHTML output in the >> future. >> >> >> >> How about adding custom HTML before and after writing the main >> containers? >> >> Can't we something like this here ? : >> >> (defun my-export-add-custom-html(when, which) >> "when is either 'before' or 'after', which is one of: >> - 'body' >> - 'title' >> - 'toc' >> - 'contents' >> - 'lot' >> ..." >> (when (string= "body" which) >> (if (string= "before" when) >> "
") >> "
") >> ) >> >> >> In org-publish-project-alist: >> >> :custom-html-funcion my-export-add-custom-html >> >> and perhaps: >> >> :org-export-html-sequence '("title" "toc" "content" "footnotes") >> ;; getting wild and offtopic: >> :custom-id-function my-org-id-was-found >> >> >> That way the output would win flexibility and get closer to an generic >> export. One could implement a table based layout, or reuse containers >> from the CMS the pages should be used in. Not to forget `> ..... ?>' or similar. >> >> We would lose the guaranty that anything validates or org-info.js works >> with the resulting structure though. But we could provide different >> `themes' on Worg which are guarantied to work (and enhanced by the >> comunity). >> >> >> Or is all this completely weired? >> >> >> >> >> Best, >> >> Sebastian >> >> >> >> Carsten Dominik writes: >>> OK, so I will wait with making changes until you have >>> done some experimentation, maybe put that up somewhere, >>> so that others can have a look? >> >> >> >>> >>> - Carsten >>> >>> On Mar 2, 2009, at 12:58 PM, Sebastian Rose wrote: >>> >>>> Carsten Dominik writes: >>>>> Hi Sebastian, >>>>> >>>>> >>>>> On Mar 2, 2009, at 10:29 AM, Sebastian Rose wrote: >>>>>> >>>>>> * Suggestions for names >>>>>> >>>>>> `wrap' is, what they use in typolight and some other CMSs. But >>>>>> `content' sounds good to me too. >>>>>> >>>>>>
>>>>>>
>>>>>> >>>>>>
>>>>>>
>>>>>> ... >>>>>>
>>>>>>
>>>>>> >>>>>>
>>>>>>
>>>>>>

2 >>>>>> Konfiguration >>>>>>

>>>>>>
>>>>>> ... >>>>>>
>>>>>>
>>>>>> ... more sections, footnotes ... >>>>>>
>>>>>> >>>>>>
>>>>>> postamble >>>>>>
>>>>>> >>>>>> >>>>>>
>>>>>>
>>>>> >>>>> >>>>> How about these names for additional divs >>>>> >>>>> content-wrap >>>>> content ;; I think we should just have one around the entire >>>>> content. >>>>> ;; should this also contain the

with the page title? >>>>> ;; I think yes >>>> >>>> OK, one might be enough. There's a cross-browser CSS to center the contents >>>> vertically with only one container: >>>> >>>> #content-wrap >>>> { >>>> ... >>>> margin-top:auto; >>>> margin-bottom:auto; >>>> vertical-align:middle; >>>> ... >>>> } >>>> >>>> And yes, the title should be inside `content-wrap' >>>> >>>>> table-of-contents-wrap >>>>> >>>>> footnote-wrap >>>>> bibliography-wrap >>>>> postamble-wrap >>>>> >>>>> So we put all the stuff into specific "wrap" containers. >>>>> I don't so much like "column-1", because that looks fine >>>>> if you use it for columns, but it looks confusing if you >>>>> use it for something else... >>>> >>>> >>>> Agreed. >>>> >>>> How about `org(-container ?) for the outer most container? Think of >>>> exporting the content only for inclusion into some framework. In that >>>> case `org' seems a natural name. >>>> >>>> Anyway, for sake of the TOC on the left, we should also wrap all the rest >>>> of the contents in one
with postamble being the only exception. >>>> >>>> The tree would simply be: >>>> >>>> org >>>> title >>>> table-of-contents-wrap >>>> table-of-contents >>>> content-wrap >>>> sec-1... - unchanged >>>> footnotes - unchanged >>>> bibliography >>>> postamble // already there >>>> >>>> The reason for the container around everything excluding title, TOC and >>>> postamble is, that I don't want the TOC to live in the left margin of >>>> the , the way it does now. >>>> >>>> `float:left' for the TOC will cause the page to look funny in the most >>>> cases: >>>> >>>> +-----+--------------+ >>>> | TOC | TITLE | >>>> +-----+ SEC-1 | >>>> | SEC2 | >>>> | SEC2 | >>>> | FOOTNOTES | >>>> +--------------------+ >>>> | POSTAMBLE | >>>> +--------------------+ >>>> >>>> Better: >>>> >>>> +-----+--------------+ >>>> | TOC | TITLE | >>>> | | SEC-1 | >>>> | | SEC2 | >>>> | | SEC3 | >>>> | | FOOTNOTES | >>>> +--------------------+ >>>> | POSTAMBLE | >>>> +--------------------+ >>>> >>>> >>>> And this one here would be nice (all navigational elements visible on >>>> load): >>>> >>>> +-----+--------------+-----+ >>>> | TOC | TITLE | LOT | >>>> | | SEC-1 +-----+ >>>> | | SEC2 | LOF | >>>> | | SEC3 +-----+ >>>> | | FOOTNOTES | BIB | >>>> +-----+--------------+-----+ >>>> | POSTAMBLE | >>>> +--------------------------+ >>>> >>>> Some people (see drupal) put the postamble into the right/center column >>>> for two and three column layout respectively. I don't like that very >>>> much. >>>> >>>> >>>> >>>> >>>> What we should do before we change anything, is to experiment with one >>>> simple document and different stylesheets, to ensure everything works >>>> the way we want it to. >>>> >>>> I'll set up some with the different aproaches and try to add different >>>> CSS stylesheets. Our aim must be to make many different layouts possible >>>> (we will never make _all_ possible layouts feasable though). >>>> >>>> >>>> >>>> Important layouts are: >>>> >>>> | Name | example | >>>> |-------------------------+------------------| >>>> | Fixed TOC | orgmode.org | >>>> | Floating TOC | orgmode.org/worg | >>>> | Please add more here... | >>>> >>>> The usual page-flow will always stay what it is as long as no special >>>> styles are added. >>>> >>>> >>>> Best, >>>> >>>> Sebastian >>>> >>>> >>>>> - Carsten >>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>> >>>>>>>>
-- Help with fixed TOC >>>>>>>>
>>>>>>>> the toc >>>>>>>>
>>>>>>>>
>>>>>>>> >>>>>>>>
-- Help with fixed TOC >>>>>>>> All the rest of the content goes here >>>>>>>>
>>>>>>>> >>>>>>>>
>>>>>>>> postamble >>>>>>>>
>>>>>>>> >>>>>>>>
>>>>>>>>

>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Having two boxes for the TOC would make the fixed TOC work in IE. In >>>>>>>> general, I prefere to use two kinds of Boxes: >>>>>>>> >>>>>>>> - one for positioning, floating and so on. This one should have _no_ >>>>>>>> padding or margin at all! >>>>>>> >>>>>>> Can one not simply use .body for that? >>>>>>> >>>>>>>> - one for margin, padding, styling. >>>>>>>> >>>>>>>> I found, this is the only way to reliably enforce a layout across >>>>>>>> browsers. >>>>>>>> >>>>>>>> >>>>>>>> column-1 and column-2 are for that very reason. All we can do to put the >>>>>>>> TOC to the left or right is, to add margins to the body or the level 1 >>>>>>>> contents, and place it there. This is, what causes the problems with the >>>>>>>> fixed TOC in IE. `column-1' and `column-2' (and `postamble') make it >>>>>>>> possible, to adjust the layout in various common ways. >>>>>>>> >>>>>>>> The `percent-50' (oh what a name) and `wrap' are just there, to be able >>>>>>>> to center the whole page horizontally _and_ veritcally. >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Best, -- Sebastian Rose, EMMA STIL - mediendesign, Niemeyerstr.6, 30449 Hannover Tel.: +49 (0)511 - 36 58 472 Fax: +49 (0)1805 - 233633 - 11044 mobil: +49 (0)173 - 83 93 417 Http: www.emma-stil.de