Developing custom themes
This section contains information about how to develop your own customized themes using Soy or FreeMarker, as well as how to use the Theme Resource Kit.
A custom theme is a set of user interface files — FreeMarker, Soy, CSS, and images — that substitute as custom versions of the files included with the application. When you create a custom theme, you're collecting all of these custom files into a single place and mapping that collection to a particular part of the user interface.
You can write advanced customized themes that change what's on UI pages. You can even restyle particular parts of the application, such as to give certain kinds of content or certain spaces their own character.
Each template that you modify in your custom theme replaces the original core template. For this reason, when you upgrade the core application, you also need to upgrade your custom theme. If you do not upgrade it, you may encounter incompatibility issues or backported bugs because the theme templates are compatible with an older version of the application. Therefore, to make upgrades easier, we strongly recommend doing as little template modification as possible. Instead, you should rely on CSS and jQuery to make customizations.
To make the changes described in this section, you need administrator privileges and a good understanding of FreeMarker or Soy templates.