Skins are used to define the layout of your websites. A skin contains assets (css, images) and templates (zafu). See the tutorials to create a new skin.
When rendering a page, zena selects the best zafu template based on the current node’s class, the rendering mode and the format (html, png, jpg, rss, ...).

Template selection examples based on the templates in the image above:
| url | node class | format | mode | template used |
|---|---|---|---|---|
| project12.html | Project | html | – | Project.zafu |
| docproject21.html | DocProject | html | – | Project.zafu |
| document3.html | Document | html | – | Node.zafu |
| document3.png | Image | png | – | send document data |
| image3_pv.png | Image | png | pv | send image data with ‘pv’ mode (size/format) |
| project12_changes.html | Project | html | changes | Project-changes.zafu |
| project12_changes.rss | Project | rss | changes | Project-changes-rss.zafu |
| project12_foo.html | Project | html | foo | 404 error (no template for ‘foo’ mode) |
| project12.bar | Project | bar | – | 404 error (no template for ‘bar’ format) |
Note that DocProject is a specialization (sub-class) of Project. This is why it can be rendered using the “Project.zafu” template.