Working with MediaWiki

From stacky wiki
Jump to: navigation, search

Magic pages: MediaWiki:Mainpage MediaWiki:Sitenotice MediaWiki:Common.css

Edit sidebar[edit]


Hide toolbox unless logged in[edit]

Originally used [1], but the structure changed with an upgrade. For Vector.php, add the following in renderPortals:

if ( !$this->data['loggedin']) { $portals['TOOLBOX'] = false; }

Leaving WPtouch.php alone ... looks like the same idea doesn't work since data['loggedin'] doesn't get set.

Getting MathJax Working[edit]

I got MathJax: git clone git:// MathJax

Using MathJax extension Went back to old solution; MathJax extension hiccupped.

old solution:

I installed the JavaScript extension[2] for MediaWiki.

I added a file mathjax.js (name doesn't matter) to extensions/JavaScript. It's content:

var e = document.createElement('script');
e.type = "text/javascript";
e.src = "/MathJax/MathJax.js?config=wikiconfig";

(I basically copied the MathJax configuration file used at MO ... got confused because you have to remember to modify the last line

(Not) Getting Blahtex Working[edit]

It'd be much nicer to get MediaWiki to serve MathML and use MathJax to convert only if it has to, but I haven't been able to get Blahtex[3] to compile. I've been trying to follow the instructions here [4]. I'm able to checkout blahtex and to get texvc working, but if I try make or make linux, I get

g++ -O3   -c -o source/main.o source/main.cpp
source/main.cpp: In function ‘void ShowUsage()’:
source/main.cpp:108: error: ‘exit’ was not declared in this scope
make: *** [source/main.o] Error 1

Moving html to wiki[edit]

A useful substitution:

<a href="([^"]*)"[^>]*>([^<]*)</a>
[\1 \2]

Handling Spam[edit]


Using SpamBlacklist extension. Using blacklists at meta.wikimedia and wikipedia, and adding additional blacklisted urls to MediaWiki:Spam-blacklist as needed.

Also installed the UserMerge extension so that I can delete junk users. In extensions directory,

svn co

Started using CAPTCHAs:

svn co

Change text of the Special:Captcha/help at MediaWiki:Captchahelp-text (more generally, various bits of text are configurable through the Special:AllMessages page).

Was getting spam even when using ReCaptcha ... switched to Questycaptcha. Still got spam, but with no links, so added

$wgCaptchaTriggers['edit']          = true; 
$wgCaptchaTriggers['create']        = true;

Still getting spam users created pretty regularly (every two weeks?), so I'm disabling user creation with

$wgGroupPermissions['*']['createaccount'] = false;

Editing MediaWiki:Loginprompt to reflect that you need to contact me to create a user. To create a new user, visit Special:UserLogin while logged in.


Followed instructions here and pointed google webmasters to ... google complains the sitemap is html, so pointed to instead. Still not working.

Okay, looking at Manual_talk:GenerateSitemap.php, it looks like the following thing should work. I've modified the indexEntry function in $IP/maintenence/GenerateSitemap.php as follows:

<                       "\t\t<loc>$filename</loc>\n" .
>                       "\t\t<loc>$filename</loc>\n" .

Regenerating with

php maintenance/generateSitemap.php --server --urlpath

Great, that seems to make google happy. Adding daily cron job through web panel.


Added ParserFunctions extension to allow flow control in templates.

Error creating thumbnails[edit]

This error didn't used to appear, but now does. Enabling logging, I see the following behavior when I try to produce a 45px wide version of New.jpg:

File::transform: Doing stat for /home/ageraschenko/
BitmapHandler::doTransform: creating 45x38 thumbnail at /home/ageraschenko/
BitmapHandler::doTransform: scaler im
BitmapHandler::doTransform: running ImageMagick: '/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/' -thumbnail '45x38!' -set comment 'File source:' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/' 2>&1
wfShellExec: '/home/ageraschenko/' 180 102400 102400 ''\''/usr/bin/convert'\'' -quality 80 -background white -size 45 '\''/home/ageraschenko/'\'' -thumbnail '\''45x38!'\'' -set comment '\''File source:'\'' -depth 8 -sharpen '\''0x0.4'\'' '\''/home/ageraschenko/'\'' 2>&1'
thumbnail failed on grumium: error 2 "" from "'/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/' -thumbnail '45x38!' -set comment 'File source:' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/' 2>&1"

Weirdly, commenting out the line

$wgUseImageMagick = true;

in LocalSettings.php seems to fix the problem.

Finding Broken Links[edit]

Using the BrokenLinks extension, but it seems dodgy ... often the links it objects to work just fine.

Also handy: XHTML validator link checker

Restricted access to certain pages[edit]



Trunk of svn repo doesn't seem to work. Did this instead, as recommended at [6]

tar -xzf Cite-MW1.16-r62678.tar.gz -C /var/www/mediawiki/extensions

Setting up knotica[edit]

Have knotica add a CNAME record pointing "@" to "". Have dreamhost fully host "". Mirror "" at "".

One-click install mediawiki to "".

Setting up mail[edit]


    $wgSMTP = array(
       'host' => 'ssl://',
       'IDHost' => '',
       'port' => 465,
       'username' => '', ## or, or whatever email account you've set up for your Mediawiki installation
       'password' => 'emailpasswordforwebmaster',
       'auth' => true

Mobile support[edit]

Tried MobileFrontend extension, but it gives me errors. In extensions directory,

git clone

then in LocalSettings

$wgMFAutodetectMobileView = true;

Trying again, using instructions at [8].


put WPtouch.php and wptouch/ into skins/. Edit LocalSettings to say

if (preg_match("/(mobile|webos|opera mini)/i", $_SERVER['HTTP_USER_AGENT'])) {
    // Different file cache dir for mobile devices
    $wgCacheDirectory = "$IP/cache_mobile";
    // Mobile skin
    $wgDefaultSkin = 'wptouch';
} else {
    // normal skin
    $wgDefaultSkin = "vector";

Create cache_mobile dir with same permissions as cache dir and "Deny from all" .htaccess file.

In WPtouch.php, replace /apple-touch-icon.png with /wiki/favicon.ico.