Wikidot offers different ways to write and manage custom themes. The simplest way is to open your site manager and create a custom theme, then apply that to your default category. But as part of the Iron Giant project to build template sites, we've developed an easier, better way. In this blog posting I'll explain how that works.

First, our requirements. While the site manager has a theme editor, we want to avoid using this because it has no history, it is clumsy, and it does not understand Ctrl-S. We want to hold the CSS in a wiki page where we can add comments and explanation. We want the theme to be active immediately, so we have a fast edit-improve-edit-improve cycle. And we want to use external themes but with easy customization.

Finally, most themes will work well for the admin pages as well as the rest of the site, and it is nice to have a consistent look and feel. In Appearance / Themes, select the admin category and choose Inherit from _default.

Then in Appearance / Navigation elements, choose the admin category, uncheck the No individual nav elements option, and delete the side-bar setting. Now the admin pages do not show a side bar. Some themes may force the main content margin, in which case you need to create a second custom theme ("My admin theme") with this additional CSS:

#main-content {
margin-left: 0;
}

So, to conclude, I've explained a simple way of managing custom CSS themes as wiki pages on your site, with all the advantages that gives you. Revisions, history, notifications, comments. All the Iron Giant sites use this technique but it's easy to retrofit to your existing sites.

if i might make a minor suggestion
@ peiter
all your pretty coloured themes are based on green fresh.

on all your coloured themes i note that you have added lots of additional bits to each and every one.

a lot these could of been added to the one theme (fresh) , to be carried over automatically to those themes that import green fresh
Then the only thing you would need in each color , would be the color changes.

Ah, sure. I preferred to leave the green-fresh theme alone, since each theme has an author and there are differences of taste (e.g. green fresh uses CAPITALS for its menus but I don't like that). In fact I like your idea of putting all the non-color CSS into a single parent theme, and may do that.

Finally, most themes will work well for the admin pages as well as the rest of the site, and it is nice to have a consistent look and feel. In Appearance / Themes, select the admin category and choose Inherit from _default.

I don't think that it is a good idea. A tiny mistake in the CSS could make that the admin:manage would not work anymore.
Moreover, there is no need for a consistent look and feel for the admin:page because it's not part of the site, it's the backoffice.

@pieterh, I tried to add a 10th theme block in http://babel-template.wikidot.com/admin:themes and also added a new "My theme - default" but the theme failed to render. I don't see where the mistake is. Is there a limit to 9 ?
EDIT: classical mistake: I took basic not base. Fixed.

Moreover, there is no need for a consistent look and feel for the admin:page because it's not part of the site, it's the backoffice.

I disagree. In the interests of making things as easy to understand as possible for new users, having a consistent theme site-wide just makes the whole experience much simpler.

If experienced users want to change their admin theme, that's up to them to do if they wish.

A tiny mistake in the CSS could make that the admin:manage would not work anymore.

Can you give an example of a mistake that would result in such a problem? The CSS alters the appearance of a site. As far as I know there is no way to cause any permanent damage just by editing the CSS.

of course there is a fix, but for newbies they will be a screaming and a shouting.

i NEVER have my admin manage theme the same as the rest of a site. it makes it crystal clear where the hell you are and what you are doing. i would highly recommend that everyone employs this procedure.

Squark 25 Sep 2008, 10:02 +0200
We recommend NOT TO change the theme of admin:manage, let it stay a 'default', simple theme, like shiny, webbish etc. Definitely I do not recommend changing the theme to one of the custom themes, from skins.wikidot.com or themes.wikidot.com — often they are just not designed to be working with admin:manage pages. E.g. I do not design themes for admin:manage and I even do not test it there.

I tend to change my admin:manage to reflect the theme of the rest of the site, mainly because I don't like any of the default themes with the possible exception of Localize, but also because for me it keeps things across the site consistent. If a CSS change causes a problem - and occasionally I have made a typo so the import button is 8000px off to the right! - you can normally just change it back. I agree that new users probably shouldn't change it so the warning needs to remain, but those who are comfortable with themes and CSS shouldn't experience any particular problem.

I dislike (with a kind of slow "why is this different" irritation) having a different theme for admin. My assumption is that users will also dislike this even if they can't express that.

For me, discovering how to create a single unifying theme for the site was important. The trick is to disable the nav:side for the admin category.

Anyone who decides to revert the theme for admin: on the IronGiant sites will find me scowling at them and fixing things again. :-)

Any theme that does not play nice with the decision to not show nav:side is in my view broken. The work-around is to create a customization specially for admin that shifts the main content back to the left-hand side.

If we want to offer site owners the choice of broken themes, we should protect the admin category from theme changes, by creating two themes, as a matter of default.

Anyone who can propose better solutions, speak up. Perhaps a standard admin theme that looks like a console?

Oh, last thing: we fixed the custom theme 'Inherit from' selector so that Base is at the top where it should be. Gerdami, when people make a "classic mistake" it's because the tool is badly designed. Sorry about that.

Indeed I think that all xyz-template.wikidot.com should have the theme for the admin: category linked to the external http://themes.wdfiles.com/local--code/silent-silver/3 which is close in color to official wikidot sites while the _default and other categories have their themes linked to the internal page admin:themes.

1. I read meagain's HowTo, forgot it, and then 'reinvented' this a different way. Meagain's HowTo gets the same effect with less work. I prefer the custom theme because it is explicit and tells me (or whoever inherits the site) exactly what is going on.