summaryrefslogtreecommitdiff
path: root/docs/skin.txt
blob: 58f77cf8e04128d8f5ad8c270531aa40255cba06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
skin.txt

MediaWiki includes four core skins:

* Vector: The default skin. Introduced in the 1.16 release (2010), it has been
  set as the default in MediaWiki since the 1.17 release (2011), replacing
  Monobook.

* Monobook: Named after the black-and-white photo of a book in the page
  background. Introduced in the 2004 release of 1.3, it had been been the
  default skin since then, before being replaced by Vector.

* Modern: An attractive blue/grey theme with sidebar and top bar. Derived from
  Monobook.

* Cologne Blue: A lightweight skin with minimal formatting. The oldest of the
  currently bundled skins, largely rewritten in 2012 while keeping its
  appearance.


Several legacy skins were removed in the 1.22 release, as the burden of
supporting them became too heavy to bear. Those were:

* Standard (a.k.a. Classic): The old default skin written by Lee Crocker during
  the phase 3 rewrite, in 2002.

* Nostalgia: A skin which looks like Wikipedia did in its first year (2001).
  This skin is now used for the old Wikipedia snapshot at
  http://nostalgia.wikipedia.org/

* Chick: A lightweight Monobook skin with no sidebar. The sidebar links were
  given at the bottom of the page instead.

* Simple: A lightweight skin with a simple white-background sidebar and no top
  bar.

* MySkin: Essentially Monobook without the CSS. The idea was that it could be
  customised using user-specific or site-wide CSS (see below).


== Custom CSS/JS ==

It is possible to customise the site CSS and JavaScript without editing any
server-side source files. This is done by editing some pages on the wiki:

* [[MediaWiki:Common.css]] -- for skin-independent CSS
* [[MediaWiki:Common.js]] -- for skin-independent JavaScript
* [[MediaWiki:Vector.css]], [[MediaWiki:Monobook.css]], etc. -- for
  skin-dependent CSS
* [[MediaWiki:Vector.js]], [[MediaWiki:Monobook.js]], etc. -- for
  skin-dependent JavaScript

These can also be customised on a per-user basis, by editing
[[User:<name>/vector.css]], [[User:<name>/vector.js]], etc.

This feature has led to a wide variety of "user styles" becoming available:

https://www.mediawiki.org/wiki/Manual:Gallery_of_user_styles

If you want a different look for your wiki, that gallery is a good place to start.

== Drop-in custom skins ==

If you put a file in MediaWiki's skins directory, ending in .php, the name of 
the file will automatically be added as a skin name, and the file will be
expected to contain a class called Skin<name> with the skin class. You can then
make that skin the default by adding to LocalSettings.php:

$wgDefaultSkin = '<name>';

You can also disable dropped-in or core skins using:

$wgSkipSkins[] = '<name>';

This technique is used by the more ambitious MediaWiki site operators, to 
create complex custom skins for their wikis. It should be preferred over 
editing the core Monobook skin directly.

See https://www.mediawiki.org/wiki/Manual:Skinning for more information.

== Extension skins ==

It is now possible (since MediaWiki 1.12) to write a skin as a standard
MediaWiki extension, enabled via LocalSettings.php. This is done by adding 
it to $wgValidSkinNames, for example:

$wgValidSkinNames['mycoolskin'] = 'MyCoolSkin';

and then registering a class in $wgAutoloadClasses called SkinMycoolSkin, which 
derives from Skin. This technique is apparently not yet used (as of 2008) 
outside the DumpHTML extension.