From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png

Release status: unmaintained

Implementation Extended syntax, Skin, Special page
Description Implements a flexible skinning framework for your wiki
Author(s) Jamasi
Latest version 0.9.0
MediaWiki 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16
Database changes No
License AGPL
Download Download
Example a skin, and its output

Translate the AdvancedSkinSystem extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

The AdvancedSkinSystem implements a flexible skinning framework for your wiki. It offers the following features:

  • arbitrary number of skins
  • skins can be changed on-the-fly depending on namespace or category of an article.
  • skin templates are completely editable from the wiki-interface (if your user is equipped with sufficient rights).
  • skins can incorporate dynamic wiki-content.
  • skin templates can be modularised to share common parts.
  • ... (to be continued)
Warning Warning: If not used properly malicious people could execute any php code on your server. Great power comes with great responsibility.

Installing[edit | edit source]

Copy the files into a subfolder of the extensions folder of your MediaWiki installation. Then add the following lines to your LocalSettings.php file (near the top):

#define wgStylePath if not done yet
$wgStylePath = "/mediawiki/skins";
#add if not done already
#add Advanced Skin System extension

You have to create a subdirectory advancedskin in /mediawiki/skins.

To compile the created skins you have to use Special:UptadeSkins .

TODO: document changes to access rights in skins-folder.

Dependency[edit | edit source]

Please install Extension:ExtensionFunctions.php into $IP/extensions first.

Configuration[edit | edit source]

tags[edit | edit source]

There are 7 tags that can be used.

  • <external>
  • <internal>
  • <dynamic>
  • <skintemplate>
  • <skinfiller>
  • <wikibits>
  • <skinflags>

external[edit | edit source]



The content of these articles will be stored into the skins/advancedskins folder. so WebStyle.css will be created in skins/advancedskins

internal[edit | edit source]



The content of these articles will be included during the skin compilation.

dynamic[edit | edit source]



The content of these articles will be included on runtime.

skintemplate[edit | edit source]


   /*have a look at MonoBook or the linked example for some ideas of what to put here*/
<?php /*you can use php-code too*/ ?> 

The content of this tag is used for the main part of the skin you create.

skinfiller[edit | edit source]


  <div id="menu-oben"></div>

The content of this tag is used within the skin you create. Using it you can modularize your code.

wikibits[edit | edit source]


  '''a bold text using wiki-syntax'''

The content of this tag is used to include texts using the wiki syntax.

skinflags[edit | edit source]



Using the Present_To_User flag makes the skin available for your users in the general settings. Skins that do not use Present_To_User can only be used when a skin that uses Present_To_User is active. The syntax to be used in this case is category:Skin:MySkin, whereas MySkin is the name of your skin which doesn't use the Present_To_User flag.

mapping a namespace to use an ASS-skin as default[edit | edit source]

You can create the page MediaWiki:ASSNamespace2Skin and put something like this into it:


Namespace1 will then default to skin1 and namespace2 will default to skin2. You can override this for single pages using the category feature, i.e. [[Category:Skin:Skinname1]]

TODO[edit | edit source]

  • implement log message on skin regeneration
  • simplify installation
  • document

Used at...[edit | edit source]