[daisy] [skin2] Poll for participation and input
Marc Portier
mpo at outerthought.org
Fri Sep 28 10:05:59 CDT 2007
hepabolu wrote:
> Hi,
>
> here are some random thoughts based on things I've seen in other
> websites and/or my experiences with skinning Daisy sites.
>
> Thoughts/suggestions/observations are in random order.
>
> - first of all, make the standard Daisy skin valid XHTML Transitional.
> Coming from valid XML this should not be too hard; my HTML Tidy Firefox
> plugin only reports warnings. The advantage is that debugging the new
> skin is easier, since you know that all errors and warnings are
> introduced by the modifier.
>
I'm not entirely sure where the daisy html might be not valid
there is however one clear issue that we're rather reluctant to solve:
we feel that listing phantom xmlns attributes on elements as 'invalid'
is quite over the top (and a consequence of the DTD heritage of HTML)
anyway, filtering out those might turn out a lot bigger (runtime) effort
then gain...
> - split XSL and CSS for the editing and for the 'display' environment.
> After extensive changes in the various XSL files I found myself with a
> non-functional editing environment. Also, when you want to style the
> editing environment different from the 'display' environment, it's very
> hard to figure out what should go where when you still want the editor
> to closely match the final display.
>
not entirely sure:
I find it often a plus that the editing environment looks similar to the
display. So I see it as a plus that I don't need to do the skinning
work twice.
However I do think we need clearer class/id markings so css files would
know as well in which mode pages currently are...
> - add the document id to the final HTML output, e.g. <body
> id='dsy-123-ns'>. This allows page specific CSS styling. I know this
> should not be promoted, since it connects CSS and HTML through the
> document ID, but sometimes you just want to style one page a bit
> different without creating a special documentType for it.
> Note that this id should not start with a number, since that is not
> valid in XHTML.
>
maybe we should even prefix with dsy-id- (as other dsy- prefixes might
be useful)
> - something that still eludes me: what is the purpose of specific
> documentTypes? To me they hold a specific type of content, e.g. news
each of them typically has a different set of fields/parts
> items, a FAQ, whatever. While skinning, I found myself creating a new
> documentType just to be able to introduce a sidebar on certain pages,
> i.e. no special information, just special layout.
>
xslt can react on other properties of the document as well if you'ld
prefer that
> - I agree that a new version of the skin system should result in
> something that's easier to modify, thus allowing for various users to
> provide their own skin to the community.
>
> - standardized naming in CSS classes are also welcome. Preferably no
> markup for HTML tags directly, but through classes (i.e. not
>
> table { .... }
>
> but
>
> table.tableMarkup { .... }
> )
>
or .daisyHtml table {....}
> This makes it easier for designers to change the look and feel without
> touching the XSL, but it also helps in differentiating between the
> editing and the 'display' environment.
>
> - start off with a CSS framework. This is more or less also described at
> the Yahoo site, mentioned in this thread. Proposal:
>
> reset.css - contains tags that reset all margins, padding, font size
> etc. to give you a browser independent starting point
>
> layout.css - contains only layout related attributes (margins, padding
> etc.)
>
> typography.css - contains only font related attributes (font, size, text
> alignment etc.)
>
> graphics.css - contains only colors and graphics (background, borders,
> colors etc.)
>
> doctypespecific.css - contains specific styling for one or more
> documentTypes.
>
> style.css is basicall the file that call it all:
>
> @import reset.css
> @import layout.css
> @import typography.css
> @import graphics.css
>
> maybe even divide into 'display' and 'edit' files (i.e.
> layout-display.css and layout-edit.css etc.)
>
> This way part of the CSS markup can be changed without touching the
> rest, i.e. reusability as much as possible.
>
> - The Daisy wiki needs to be restarted to pick up a modified query
> styling. This is quite annoying when you want to debug your styling.
>
as andreas mentioned 'touching' the parent-xslt for all query styling
should suffice (otherwise cocoon doesn't notice that he should recompile
the xsl)
> - To allow for more flexible styling (i.e. web designers fiddling with
> CSS rather than XSL), the default (X)HTML output should have a default
> layout that allows for skinning, like the page used for the CSS
> Zengarden. This would look something like this (elaborating on Marc's
> example):
>
> <html>
> <xsl:call-template name="insert-daisy-header" />
> <xsl:call-template name="insert-my-extra-header" />
>
> <body id="dsy-{$docid}>
> <div id="wrapper">
> <div id="header">
> <!-- masthead/banner etc. -->
> <xsl:call-template name="insert-daisy-navigation" />
> <xsl:call-template name="insert-daisy-breadcrumb" />
> </div>
> <div id="contentwrapper">
> <div id="menu-navigation">
> <xsl:call-template name="insert-menu-navigation"/>
> </div>
> <div id="content>
> <xsl:call-template name="insert-daisy-part" >
> <xsl:with-param name="partName" select="'SimpleContentPart'" />
> </xsl:call-template>
> </div>
> <div id="sidebar">
> <xsl:call-template name="partName" select="'SidebarPart'"/>
> </div>
> </div> <!-- end contentwrapper -->
> <div id="footer">
> <!-- footer info -->
> </div>
> </div> <!-- end wrapper -->
> </body>
> </html>
>
> Maybe some extra divs are added to provide web designers with some hooks
> for extra images (ala CSS Zengarden). Although Webstandards purists
> would shiver at the thought of inserting non-content related markup.
>
> This template should be compiled in one XSL file, as near to the end of
> the pipeline as possible. I remember that I needed to change 2 or three
> XSL files to come up with something resembling this.
>
> Again, the separation between the 'display' and the editing environment
> should be more distinct than it is now.
>
>
> - we need a simple fall back mechanism. The current 'add the name of the
> default skin to file XYZ' is much better than before, but not very
> intuitive.
>
I think it's quite ok, and only needs clear documentation of the
baseskin.txt file
but I might be missing something and would surely like to learn any
suggestions...
>
> As said before, these are just thoughts, observations and ideas and are
> only meant as input to a brainstorm.
>
cool, thx, that is what I was hoping for at this stage...
hope we can continue some more...
have started listing ideas in some organized way at
http://cocoondev.org/wiki/521-cd/522-cd.html
please add if I missed something
regards
-marc=
More information about the daisy
mailing list