On Mar 2, 2009, at 5:00 PM, Sebastian Rose wrote:
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.
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?
- 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)
"<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-1"><span class="section-number-2">2</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 the TOC to live in the left margin
of
the <body>, 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
<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
Email: s.r...@emma-stil.de, sebastian_r...@gmx.de
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