Theming

Intro

The current best-practice way to theme a Plone site is by using an engine called “Diazo”. This allows designers to design a theme in just plain, flat HTML, CSS and JavaScript.

The way to do this is to use plone.app.theming. If you need to integrate Plone with other back-end servers, legacy systems, or any webservice, you can use Diazo to all combine it in a unified look & feel.

An older (Plone 4.2) quick guide which may help to understand Diazo better:

Using Diazo is also possible as a standalone service.

Normally the Diazo theme transformation is running inside the Plone process. You can compile the Diazo rules to low level XSLT and let a webserver do the actual transformation, or run the Diazo transformations in a WSGI enabled service.

If you want this advanced stand alone set up, please take a look at documentation on www.diazo.org, especially the Compilation and Deployment chapters.

General information CSS and other resources in Plone:

..note

Up to version 4.1, Plone was using an older style of theming.
Using that is **not** considered best practice anymore.

See `older versions of these docs <https://docs.plone.org/4/en/adapt-and-extend/theming/old_style_theming.html>`_ if you need the information.