Working with MediaWiki

From stacky wiki
Jump to: navigation, search

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

Edit sidebar[edit]

Mediawiki:Sidebar

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://github.com/mathjax/MathJax.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";
document.getElementsByTagName('head')[0].appendChild(e);

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

(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]

See http://www.mediawiki.org/wiki/Manual:Combating_spam

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 http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/UserMerge

Started using CAPTCHAs:

svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmEdit

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.

Sitemap[edit]

Followed instructions here and pointed google webmasters to stacky.net/wiki/sitemap/ ... google complains the sitemap is html, so pointed to http://stacky.net/wiki/sitemap/sitemap-index-stacky_net_3-wiki_.xml 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:

407c407
<                       "\t\t<loc>$filename</loc>\n" .
>                       "\t\t<loc>http://stacky.net/wiki/sitemap/$filename</loc>\n" .

Regenerating with

php maintenance/generateSitemap.php --server http://stacky.net --urlpath http://stacky.net/wiki

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

Templates[edit]

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/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg
BitmapHandler::doTransform: creating 45x38 thumbnail at /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg
BitmapHandler::doTransform: scaler im
BitmapHandler::doTransform: running ImageMagick: '/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1
wfShellExec: '/home/ageraschenko/stacky.net/wiki/bin/ulimit4.sh' 180 102400 102400 ''\''/usr/bin/convert'\'' -quality 80 -background white -size 45 '\''/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg'\'' -thumbnail '\''45x38!'\'' -set comment '\''File source: http://stacky.net/wiki/index.php?title=File:New.jpg'\'' -depth 8 -sharpen '\''0x0.4'\'' '\''/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg'\'' 2>&1'
thumbnail failed on grumium: error 2 "" from "'/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 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]

[5]

Citations/references[edit]

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

wget http://upload.wikimedia.org/ext-dist/Cite-MW1.16-r62678.tar.gz
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 "knotica.stacky.net". Have dreamhost fully host "knotica.sheafy.net". Mirror "knotica.com" at "knotica.sheafy.net".

One-click install mediawiki to "knotica.stacky.net/wiki".

Setting up mail[edit]

[7]

    $wgSMTP = array(
       'host' => 'ssl://smtp.gmail.com',
       'IDHost' => 'mydomain.com',
       'port' => 465,
       'username' => 'webmaster@mydomain.com', ## or info@mydomain.com, 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 https://gerrit.wikimedia.org/r/p/mediawiki/extensions/MobileFrontend.git

then in LocalSettings

require_once("$IP/extensions/MobileFrontend/MobileFrontend.php");
$wgMFAutodetectMobileView = true;

Trying again, using instructions at [8].

wget http://www.memorydeleted.com/mediawiki/skins/WPtouch_1.18_and_later.zip
unzip WPtouch_1.18_and_later.zip

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.