Re: [Orgmode] export and containers
Carsten Dominik domi...@science.uva.nl writes: I have now added a content container around all of body. - Carsten OK, I'll go and adjust org-info.js as needed now. Best, Sebastian On Mar 3, 2009, at 2:16 AM, Richard Riley wrote: Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: I really dont see the plethora of sec-id# that are currently generated being really useful since they change on each export if new stuff is entered. This make existing CSS redundant unfortunately. The IDs in the section headings are not meant for CSS styling. That's what the classes are for. Regards, IDs are frequently used for styling as well as classes. Well, in this case, since we never know the ID of a section in advance... Or haven't known in the past. See other post. We probably need to be able to control the class and/or ID of individual sections at the higher level. -- 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 Email: s.r...@emma-stil.de, sebastian_r...@gmx.de Http: www.emma-stil.de ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
Thanks. - Carsten On Mar 3, 2009, at 11:14 AM, Sebastian Rose wrote: Carsten Dominik domi...@science.uva.nl writes: I have now added a content container around all of body. - Carsten OK, I'll go and adjust org-info.js as needed now. Best, Sebastian On Mar 3, 2009, at 2:16 AM, Richard Riley wrote: Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: I really dont see the plethora of sec-id# that are currently generated being really useful since they change on each export if new stuff is entered. This make existing CSS redundant unfortunately. The IDs in the section headings are not meant for CSS styling. That's what the classes are for. Regards, IDs are frequently used for styling as well as classes. Well, in this case, since we never know the ID of a section in advance... Or haven't known in the past. See other post. We probably need to be able to control the class and/or ID of individual sections at the higher level. -- 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 Email: s.r...@emma-stil.de, sebastian_r...@gmx.de Http: www.emma-stil.de ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: It's been a while since I've looked at my org set up. One thing that always struck me as a bit hacky was my use of :preamble div id='content' and the corresponding postamble to enclose the exported web pages into a container div. Is there a better way to do this? I would think it would be a common enough need that by default or via an option all html should be enclosed in a webcontainer ID. While one container around everything makes it possible to center the page horizontally, two containers make it possible to center the page vertically as well. If we would go and change the structure once again, I'd even suggest the following: body div id=percent-50 -- center the page if desired div id=wrap -- center the page if desired Why always IDs as opposed to classes? Can css selectors select based on a part of a name? If not then there is no link between column-1 and column-2. e.g in this convention how does one create a common style for all columns or all sec- objects? div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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 -- important and urgent problems of the technology of today are no longer the satisfactions of the primary needs or of archetypal wishes, but the reparation of the evils and damages by the technology of yesterday. ~Dennis Gabor, Innovations: Scientific, Technological and Social, 1970 ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
Richard Riley rileyrg...@googlemail.com writes: Sebastian Rose sebastian_r...@gmx.de writes: Richard Riley rileyrg...@googlemail.com writes: It's been a while since I've looked at my org set up. One thing that always struck me as a bit hacky was my use of :preamble div id='content' and the corresponding postamble to enclose the exported web pages into a container div. Is there a better way to do this? I would think it would be a common enough need that by default or via an option all html should be enclosed in a webcontainer ID. While one container around everything makes it possible to center the page horizontally, two containers make it possible to center the page vertically as well. If we would go and change the structure once again, I'd even suggest the following: body div id=percent-50 -- center the page if desired div id=wrap -- center the page if desired Why always IDs as opposed to classes? `percent-50' and `wrap' are there for a special purpose and unique in that concern. `wrap' is the `content' you originally requested. I did not use my brain and called it `wrap' without any annotation. :preamble div id='content' I'd say they should have an ID assigned. Can css selectors select based on a part of a name? If not then there is no link between column-1 and column-2. e.g in this convention how does one create a common style for all columns or all sec- objects? Aaah, OK, sorry for being unclear - a misunderstanding. I did *not* mean to _change_ the structure of the XHTML in it's current form, but simply _add_ additional containers to partition the whole thing (just as you suggested) and thus make it possible to move certain groups of content around through CSS. All the sec- objects should go into `column-2'. All the `sec-' objects share classes via the containers they live in: div id=outline-container-2 class=outline-2 div id=outline-container-2.1 class=outline-3 etc. That's already the case, and I think we don't need to change that. * Suggestions for names `wrap' is, what they use in typolight and some other CMSs. But `content' sounds good to me too. div id=center div id=wrap!-- or `content' -- div id=box-1 div id=table-of-contents ... /div /div!-- end of box-1 -- div id=box-2 div id=outline-container-2 class=outline-2 h2 id=sec-1span class=section-number-22/span Konfiguration /h2 div class=outline-text-2 id=text-2 ... /div /div ... more sections, footnotes ... /div!-- end of box-2 -- div id=postamble postamble /div /div!-- end of wrap -- /div!-- end of center -- div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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 -- 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 Email: s.r...@emma-stil.de, sebastian_r...@gmx.de Http: www.emma-stil.de ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
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. div id=center div id=wrap!-- or `content' -- div id=box-1 div id=table-of-contents ... /div /div!-- end of box-1 -- div id=box-2 div id=outline-container-2 class=outline-2 h2 id=sec-1span class=section-number-22/span Konfiguration /h2 div class=outline-text-2 id=text-2 ... /div /div ... more sections, footnotes ... /div!-- end of box-2 -- div id=postamble postamble /div /div!-- end of wrap -- /div!-- end of center -- 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 h1 with the page title? ;; I think yes 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... - Carsten div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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 -- 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 Email: s.r...@emma-stil.de, sebastian_r...@gmx.de Http: www.emma-stil.de ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
OK - I failed badly :-( I think we can skip the extra div 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 div 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. 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) div id=\wrap\) /div) ) 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 `?php . ?' 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 domi...@science.uva.nl 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 domi...@science.uva.nl 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. div id=center div id=wrap!-- or `content' -- div id=box-1 div id=table-of-contents ... /div /div!-- end of box-1 -- div id=box-2 div id=outline-container-2 class=outline-2 h2 id=sec-1span class=section-number-22/span Konfiguration /h2 div class=outline-text-2 id=text-2 ... /div /div ... more sections, footnotes ... /div!-- end of box-2 -- div id=postamble postamble /div /div!-- end of wrap -- /div!-- end of center -- 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 h1 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 div 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
Re: [Orgmode] export and containers
Richard Riley rileyrg...@googlemail.com writes: It's been a while since I've looked at my org set up. One thing that always struck me as a bit hacky was my use of :preamble div id='content' and the corresponding postamble to enclose the exported web pages into a container div. Is there a better way to do this? I would think it would be a common enough need that by default or via an option all html should be enclosed in a webcontainer ID. While one container around everything makes it possible to center the page horizontally, two containers make it possible to center the page vertically as well. If we would go and change the structure once again, I'd even suggest the following: body div id=percent-50 -- center the page if desired div id=wrap -- center the page if desired div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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! - 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 ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] export and containers
Carsten Dominik domi...@science.uva.nl writes: Hi Sebastian, I could do this. Would this mean that org-info.js would become backward not compatible with older pages? I believe quite a few people actually pull org-info.js from orgmode.org. I'd have to rework it a bit. But I think it's worth it, since it offers more fleyibility in (web-)design. Maybe we could just branch and work it out. When done, we merge into trunk and inform everyone about the changes. New things brake old ones some times - so what? If we play it `fair', it should be fine. Adjusting org-info.js the way it is now, takes a weekend I hope. Actually, I doubt that there is much to be rewritten - maybe the info-view-mode changes a bit. I'd happily do a for f in $(find ~/org/ -name '*.org); do touch $f; done and re-publish all the stuff, to make my pages centered in the window. And that's all people willing to upgrade have to do. Also, I'm quite sure we can eleminate the remaining problems with the fixed TOC in IE on small screens, since there's another container around it. - Carsten On Feb 28, 2009, at 12:37 PM, Sebastian Rose wrote: Richard Riley rileyrg...@googlemail.com writes: It's been a while since I've looked at my org set up. One thing that always struck me as a bit hacky was my use of :preamble div id='content' and the corresponding postamble to enclose the exported web pages into a container div. Is there a better way to do this? I would think it would be a common enough need that by default or via an option all html should be enclosed in a webcontainer ID. While one container around everything makes it possible to center the page horizontally, two containers make it possible to center the page vertically as well. If we would go and change the structure once again, I'd even suggest the following: body div id=percent-50 -- center the page if desired div id=wrap -- center the page if desired div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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! - 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 ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten On Feb 28, 2009, at 12:37 PM, Sebastian Rose wrote: Richard Riley rileyrg...@googlemail.com writes: It's been a while since I've looked at my org set up. One thing that always struck me as a bit hacky was my use of :preamble div id='content' and the corresponding postamble to enclose the exported web pages into a container div. Is there a better way to do this? I would think it would be a common enough need that by default or via an option all html should be enclosed in a webcontainer ID. While one container around everything makes it possible to center the page horizontally, two containers make it possible to center the page vertically as well. If we would go and change the structure once again, I'd even suggest the following: body div id=percent-50 -- center the page if desired div id=wrap -- center the page if desired div id=column-1 -- Help with fixed TOC div id=table-of-contents the toc /div /div div id=column-2 -- Help with fixed TOC All the rest of the content goes here /div div id=postamble postamble /div /div /div /body 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! - one for margin, padding, styling. I