Extension:AdvancedSkinSystem
|
AdvancedSkinSystem Release status: experimental |
|
|---|---|
| Implementation | Extended syntax, Skin, Special page |
| Description | AdvancedSkinSystem implements a flexible skinning framework for your wiki. Skins can be changed on the fly depending on namespace or category and are completely editable from the wiki-interface (if your user is equipped with sufficient rights). |
| Author(s) | Jamasi |
| Last version | 0.9.0 |
| MediaWiki | 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 |
| License | AGPL |
| Download | /Download |
| Example | a skin, and its output |
| Check usage and version matrix | |
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)
| If not used properly malicious people could execute any php code on your server. Great power comes with great responsibility. |
Contents |
Installing [edit]
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 require_once("$IP/extensions/ExtensionFunctions.php"); #add Advanced Skin System extension require_once("$IP/extensions/AdvancedSkinSystem/AdvancedSkinSystem.php");
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]
Please install Extension:ExtensionFunctions.php into $IP/extensions first.
Configuration [edit]
tags [edit]
There are 7 tags that can be used.
- <external>
- <internal>
- <dynamic>
- <skintemplate>
- <skinfiller>
- <wikibits>
- <skinflags>
external [edit]
example
<external> #!Favicon.ico!#==[[Media:Favicon.ico]] #!Style.css!#==[[Filler:WebStyle.css]] </external>
The content of these articles will be stored into the skins/advancedskins folder. so WebStyle.css will be created in skins/advancedskins
internal [edit]
example
<internal> ##HEADER##==[[Filler:MySkinHeader]] </internal>
The content of these articles will be included during the skin compilation.
dynamic [edit]
example
<dynamic> #*FOOTER*#==[[MySkinFooter]] </dynamic>
The content of these articles will be included on runtime.
skintemplate [edit]
example
<skintemplate> ##HEADER## <body> /*have a look at MonoBook or the linked example for some ideas of what to put here*/ </body> <?php /*you can use php-code too*/ ?> </skintemplate>
The content of this tag is used for the main part of the skin you create.
skinfiller [edit]
example
<skinfiller> <div id="menu-oben"></div> </skinfiller>
The content of this tag is used within the skin you create. Using it you can modularize your code.
wikibits [edit]
example
<wikibits> '''a bold text using wiki-syntax''' </wikibits>
The content of this tag is used to include texts using the wiki syntax.
skinflags [edit]
example
<skinflags> Present_To_User </skinflags>
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]
You can create the page MediaWiki:ASSNamespace2Skin and put something like this into it:
NamespaceName1=Skinname1 NamespaceName2=Skinname2
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]
- implement log message on skin regeneration
- simplify installation
- document
Used at... [edit]
| Language: | English |
|---|
