forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thorsten <>
Subject Re: Docs: Skin implementation
Date Tue, 07 Sep 2004 10:01:46 GMT
David Crossley wrote:
> Shaun Evans wrote:
>>Is anybody here working on improving the doco
> Yes, it is a continual task.
>>or writing a HOWTO about making skins for Forrest?
>>I think that it is not one of the best documented features of Forrest,
>>although it is one of the most powerful.
>>If anybody is interested, or nobody is working on this at the moment, I
>>could contribute this documentation.
> That is great that someone wants to work on documentation.
> There is some documentation about skins:
> Note that we are rather trying to make the current skins
> highly configurable, so that people need only create new skins
> to meet some obscure need.

Yeah, David is right. The problem with your own skin is that we are 
highly developing the skining engine of forrest (towards a 
skinning-forrestbot) and your skin will probably not work in future 
versions of forrest (I know what I am talking about ;-))

Anyway, I am in the middle of developing a new skin that is called 
leather-dev. It is all div based (like pelt). Actually it is pelt with 
some basic standards in regards of naming the css-elements. You can see 
the development in forrest trunk (update on a regular basic). That will 
maybe a good starting point for you to watch the changes and their 
effects on the skin.

The skin is not finished yet. Actually the skelleton more or less is, 
but I have to reorder the elements in the css-files and activate all 
skinconf.xml features (mainly color profiling). The resulting css-files 
will be:

In the future you then can go ahead and add this 4 files to your project 
and override the default one. It is a fallback mechanism. If the 
personal *.css are not found then the default ones will be taken.

Like I stated before I am still developing the skin, so feature requests 
   can be probably be incooperated in to leather-dev. The target is that 
you *never* have to create your own skin rather your own css-files 
(style) and skinconf.xml properties (features to displayed).

If you still want to create your own skin.
1) Select a base skin e.g. pelt
2) cp forrest/src/core/context/skins/pelt 

2) will result in (...and then just play around):
|-- css -> here you will have to provide your own files or change the 
existing ones
|   |-- basic.css
|   |-- print.css
|   |-- profile.css.xslt
|   `-- screen.css
|-- images -> like above
|   |-- chapter.gif
|   |-- chapter_open.gif
|   |-- current.gif
|   |-- doc.gif
|   |-- header_white_line.gif
|   |-- label.gif
|   |-- page.gif
|   |-- pdfdoc.gif
|   |-- printer.gif
|   |-- search-left.gif
|   |-- search-right.gif
|   |-- sidebar_bg.gif
|   |-- singlepage.gif
|   |-- spacer.gif
|   |-- tab-left.gif
|   |-- tab-right.gif
|   `-- xmldoc.gif
|-- note.txt -> it is an old dev note, please, ignore or del
|-- skinconf.xsl -> that is the basic color profiling fallback (if no 
<color/> elements can be found the skin will use the ones here)
`-- xslt -> change here the basic fo / html skeleton of your skin
     |-- fo -> pdf output
     |   `-- document2fo.xsl
     `-- html -> html output
         |-- book2menu.xsl -> that is for the old book.xml (which is not 
used anymore)
         |-- document2html.xsl -> all the content xdocs will be skined here
         |-- site2xhtml.xsl -> overall site skinning (final state)
         `-- tab2menu.xsl -> tab basic skinning

*Do not forget* to activate the new skin in the file 
of your own project!!!


View raw message