MediaWiki extensions for LiteratePrograms, a wiki for source code.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This repository hosts MediaWiki extensions (tested against version
1.18.2) that are used to implement the special features of
LiteratePrograms wiki, hosted at

CodeBlock: does formatting and syntax highlighting for code regions,
including turning noweb links into anchor links between code sections.

DownloadCode: Adds a "Download code" tab that can be used to weave
together the code in an article using noweb and present it as a
downloadable, compilable, source file. Also test-compiles the files
to show compiler errors/warnings.

ShowOnlyTo: A minor extension, used to hide certain text in pages from
users who are not logged in.

They are installed in the conventional manner, by simplying adding to
your LocalSettings.php file:

require_once( "$IP/extensions/CodeBlock/CodeBlock.php" );
require_once( "$IP/extensions/DownloadCode/DownloadCode.php" );
require_once( "$IP/extensions/ShowOnlyTo/ShowOnlyTo.php" );
$wgNowebPath = "/usr/local/noweb/noweb";
$wgDownloadCodeBanner = false;
$wgDownloadCodeListAlternatives = false;

The path to the noweb tool must be specified as above. On
Debian/Ubuntu systems you can install noweb with:

sudo apt-get install noweb

The $wgDownloadCodeBanner option causes a large banner reading
"Download code" to be printed at the bottom of each article.  It was
added to LiteratePrograms wiki because users were overlooking the
Download code tab, but other sites may not want it so it's turned off
by default.

The $wgDownloadCodeListAlternatives option adds a list of links to
other implementations in different programming languages. It assumes
that your articles are titled in the form "Name (language)". It is
off by default.

Copyright Derrick Coetzee 2006-2012. Because extensions interact
closely with MediaWiki, and because they are based on other extensions
and samples, I am compelled to release these extensions under the
GNU Public License (GPL) version 2, the full text of which can be read at:

It can also be found in the file COPYING included with this package.