# Edit Happy.php and change the class name to SkinHappy: <source lang="php">class SkinHappy extends SkinTemplate;</source>
# In Happy.php, change the template class to have your skin name together with the word 'Template': <source lang="php">class HappyTemplate extends QuickTemplate;</source>
# Also in Happy.php, make the references to the skin match the names: <source lang="php"> function initPage( &$out ) { SkinTemplate::initPage( $out );
$this->skinname = 'happy'; // matches the physical directory name
$this->stylename = 'happy'; // matches the physical directory name
$this->template = 'HappyTemplate'; // matches the template class name
}</source>
# In your happy directory edit the image and CSS files until your heart is content;
# Edit and customise Happy.php as you please;
== Making your Skin Available ==
To make your skin available sitewide, and the default skin, set it in LocalSettings.php e.g. set $wgDefaultSkin = 'happy'.
To let your users decide which skin they can use, you can enable user preferences.
== Nice Examples ==
The skin used on this site is based on [http://paulgu.com/wiki/Mediawiki_Skins the excellent work of Paul Gu]
I've seen some other projects that have nice mediawiki skins, but I never bothered to write them down. A quick search reveals several projects by Suse:
# http://en.opensuse.org/Welcome_to_openSUSE.org
# http://www.mono-project.com/Main_Page
# http://beagle-project.org/Main_Page
# http://en.opensuse.org/Welcome_to_openSUSE.org
# https://wiki.mozilla.org/Main_Page
I hesitate to call it a 'nice example' because it doesn't seem all that compelling, but there is the mozilla project wiki https://wiki.mozilla.org/Main_Page I'm fairly certain without checking the wayback machine that developer.mozilla.org used to run mediawiki, with a very nice themeand lots of custom templates and graphics. Now they are running a commercial opensource wiki product.
== Resources ==