Available Skins

Last modified by Eleni Cojocariu on 2026/09/23 12:16

Reference

This page lists the skins an XWiki instance can use, the three kinds of skin, and how a skin is named in the configuration. To choose which skin a wiki, a page or a user gets, see Skin Levels.

The skins shipped with XWiki

XWiki ships one skin, Flamingo, and one wiki skin page built on it, XWiki.DefaultSkin.

An out-of-the-box wiki does not use flamingo directly. Its Skin setting holds XWiki.DefaultSkin, a page shipped with the wiki whose Base Skin is flamingo. That is what the Customize button in the administration opens, and what the Skin field already contains before anyone changes it.

The three kinds of skin

Kind Where it lives How it is named
Filesystem skin One directory per skin, under webapps/xwiki/skins/ on the server By its directory name, for example flamingo
Wiki skin A wiki page holding an XWiki.XWikiSkins object By its page reference, for example XWiki.DefaultSkin
Extension skin A skins folder inside a JAR installed on the wiki, with one directory per skin By its directory name

A skin does not have to define everything. Its Base Skin names the skin it falls back to for every template, stylesheet or image it does not provide itself, which is how XWiki.DefaultSkin can consist of almost nothing and still render a complete interface.

A wiki skin reaches an instance the way any other pages do: by importing a XAR, or by installing it with the Extension Manager.

Where skins are stored

Filesystem skins live under webapps/xwiki/skins/, one directory each. XWiki keeps its own skins there so that they can be used even when the database is empty, which a skin held in pages cannot be. This is the whole of that directory on a standard XWiki instance, and the layout of the skin it contains:

webapps/xwiki/skins/
  flamingo/
    skin.properties       the skin's own settings
    *.vm                  Velocity templates
    less/                 LESS sources, where the styling is written
    css/, *.css           stylesheets
    *.js                  scripts
    logo.svg, logo.png    the default logo

That directory is not the full list of the skins an instance can use: it holds the filesystem skins only. Wiki skins are pages and extension skins sit inside JARs, and neither appears there.

What a skin is made of

A skin is a set of files, not a single setting:

Part What it does
Velocity templates (.vm) Build the pages of the interface. Overriding one of them is how a wiki skin changes the interface.
LESS sources (.less) Where the styling of the skin is written. In Flamingo the appearance is maintained here rather than directly in the stylesheets.
Stylesheets (.css) The styles the browser finally loads.
Scripts (.js) The behaviour of the interface widgets.
Images The logo and the pictures the templates refer to.
skin.properties The skin's own settings.

skin.properties is what makes a directory a skin: a filesystem skin without one is not recognised at all. It declares the skin it inherits from and the syntax it produces, and in Flamingo it holds exactly two lines:

parent=
outputSyntax=html/5.0

An empty parent means the skin explicitly has no parent, so it falls back to no other skin for anything, which is why Flamingo has to provide a complete interface on its own.

Each action is built by a template of its own, and the styling has a single entry point:

What it builds File in the skin
The view of a page view.vm
The editor of a page edit.vm
The main stylesheet style.css
Its LESS source less/style.less.vm

The settings of a wiki skin

A wiki skin holds the equivalent of skin.properties in the XWiki.XWikiSkins object on its page, shown as Skin Properties when the skin page is opened for editing:

skin-document-properties.png

Setting What it holds
Name The name of the skin. It is the title the skin page is displayed under.
Base Skin The skin this one falls back to. It holds flamingo on XWiki.DefaultSkin.
Logo An attachment of the skin page to use as the logo, picked with the Choose an attachment button.
Output Syntax The syntax the skin produces, either HTML 5 for a recent skin or XHTML 1.0 for an old one. XWiki reads it to pair the skin with the renderer that produces valid markup for it.

Output Syntax is left unset on XWiki.DefaultSkin, and a skin that sets none takes the one its Base Skin declares, which is the outputSyntax=html/5.0 of Flamingo above.

Information

The Logo setting is used only when the color theme in use declares no logo of its own. The color theme an out-of-the-box wiki uses declares one, so the logo displayed comes from the color theme and this setting has no visible effect. Change the logo in the color theme instead.

The same object carries six more properties, listed under Deprecated properties on the skin page: an older way of replacing a template, which Customize a Skin explains why not to use.

How a skin is identified

The Skin field in the administration and the skin property of a user both take the same kind of value: either the directory name of a filesystem skin, such as flamingo, or the page reference of a wiki skin, such as XWiki.DefaultSkin.

Information

Skin names are case-sensitive. The value is used exactly as written, either as a path under webapps/xwiki/skins/ or as a page reference, and both are case-sensitive.

Related

Get Connected