Table of Contents
MediaWIki
Using
Notes from a regular user's perspective.
Signature
—[[User:Rylie_James_Thomas|rjt]] ([[User_talk:Rylie_James_Thomas|talk]])
— [[User:Rjt|rjt]] ([[User_talk:Rjt|talk]])
See Also
Running
Note's from an admin's perspective.
Setup
- https://www.mediawiki.org/wiki/Manual:$wgAllowDisplayTitle
- https://www.mediawiki.org/wiki/Manual:$wgCategoryMagicGallery
Interwiki
Like DokuWiki, Mediawiki has a dedicated syntax for interwiki links. Practically, they're a quick way to link to other sites, so useful for one's you link to often.
The easiest way to add links is to use the included Interwiki extension, which requires a little manual setup: Just add these lines to your LocalSettings.php file
wfLoadExtension( 'Interwiki' ); $wgGroupPermissions['sysop']['interwiki'] = true;
If you want to add little icons before/after links like in Dokuwiki, you can use the CSS :before
or :after
Search
The default Mediawiki search is pretty shit. Autocomplete doesn't work unless you get the page name right (including case), and it seems to miss stuff in the results page.
- Wikipedia uses: CirrusSearch, which makes use of Elasticsearch.
Syntax
I haven't tried this, but it looks like you can customise syntax pretty easily:
Templates
Templates are a really useful tool for inserting information on multiple pages. They can be simple—like insert a single word; or complex—like the 'infoboxes' you see on Wikipedia pages, and even using conditional statements.
To save people the hassle of having to copy+paste the template text each time, you can add a button to the editor:
And include 'template data' into your templates so they'll show up.
Infobox
Theming
There are a few different ways to theme MediaWiki.
- The most complex is to create a skin. This is the base that determines the appearance of the wiki.
- Next is a theme. Themes are applied on top of skins, and a theme will rely on a particular skin. They change less, but can still do a lot.
- The other option is to add CSS rules directly to the page
MediaWiki:Common.css
, which will apply to all skins and themes, andMediaWiki:[theme].css
if you want to limit it to a particular theme.
My theme for the Game Making Tools Wiki is built on top of the Timeless skin. rjt/mediawiki-theme-timeless-gmt. For some reason on this wiki theme's don't work, so I use the Common.css
file :/
My theme for the Videogame Interface Wiki is built on the new Vector 2022 skin, but it's arse and breaks often. I'm going to switch to Timeless for that one too.
Skins
Mediawiki skins are way too complicated, I think I've given up on ever creating one.
Just looking for Mediawiki skins is annoying! MediaWiki's wiki has a section that collects some together, but there's no gallery of screenshots.
Notes
These notes are from when I was looking for a new skin for Game Making Tools's wiki (ended up going with Timeless). Looking for something with a narrower reading area1), produces nice markup, and uses grid
.
- Timeless - I like that the search input in prominent, responsive, already included with MediaWiki (have to activate), narrower content section, I have themed this in the past.
NB: Dark version - PureCSS - I thought the name was appealing :) but it's actually some Yahoo framework. Still, the skin's code is easy to read, so might be a good starting point for developing a custom skin.
- Nimbus - Similar to the default, but a bit nicer.
- Nostalgia - Like earlier wiki engines.
- Pivot - Could be a good base for themeing.
- Foreground - Another one that might be a good fit. Not so keen on not having sidebar/s.2)
Vetoed:
See Also
- Skins section on Wikiapiary. Data on skin usage across different Mediawiki wikis.
Themes
The documentation on using themes is terrible: https://www.mediawiki.org/wiki/Extension:Theme
Here's what you need to do:
In LocalSettings.php
set:
wfLoadExtension( 'Theme' );
$wgDefaultTheme = [theme];
In extensions/Theme/extension.json
you need two sections, which you probably have to create:
"ThemeModules": { "[skin]": [ "[theme]" ] },
and in the resourcemodules section:
"themeloader.skins.[skin].[theme]": { "styles": { "[skin]/[theme]/[theme].css": { "media": "screen" } } }
The path/file in the 'styles' bit points to your CSS file.
When you refer to your skin in these files use lowercase.