Extension:POD

MediaWiki extensions manual
POD
Release status: unmaintained
Implementation Tag
Description Render POD (Plain Old Documentation) input as HTML
Author(s) Tels~mediawikiwikitalk
Latest version 0.06 (2007-05-05)
MediaWiki 1.6.3+
License Released under the GPL
Download search.cpan.org
README
CHANGES

What can this extension do? edit

This extension takes input in POD format, and converts it to HTML. Thus you can edit POD inside a wiki, and directly see the result.

This ties together several tools and creates a sort of IDE (Integrated Development Environment) for POD:

Browser edit

The browser supplies:

  • the HTML-rendering,
  • clickable links,
  • spell-checking

Pod-Extension edit

By using Pod::Simple and some custom transformations, it brings:

  • instant POD check for correctness
  • correct formatting in HTML and working links
  • keyword display
  • collapsable table of contents
  • language selection (for multi-language documents)

The Wiki edit

  • central storage,
  • version control,
  • user management,
  • visual diffs

Usage edit

Type your POD text between pod tags:

<pod>
=head1 NAME

=head2 Some Headline

This is a test.
</pod>

Custom POD edit

You can also embed custom POD paragraphs like the following:

=begin graph

graph { flow: down; }
node { fill: thistle; }
[ POD | POD (graph) ] { basename: pod; }

[ pod.0 ] -- Mediawiki::POD --> [ HTML ] { fill: lavender; size: 2,0; }
[ pod.1 ] -- Graph::Easy --> [ HTML ]

=end graph

which will be rendering as "image" (either HTML, SVG, or PNG).

Installation edit

Download the extension from http://search.cpan.org/~tels/Mediawiki-POD, and install it into according to the README file.

PHP 4.x vs. 5.x edit

Th extension was developed and tested with PHP 4.x. If you are using Mediawiki 1.8.x or better, then you are also using PHP 5.x. In this case you need to modify the extension, as it uses proc_open(), which was sadly changed in an incompatible way between PHP versions.

Notes under 5.1.2 edit

  • I had no problem with proc_open().
  • however I did get a "variable undefined" warning at line 57. This can be fixed by initialising $output in renderPOD(); just bafore
while (!feof($pipes[1])) {

(line 56) add:

$output='';

Parameters edit

This extension doesn't take any parameters except the input text between <pod> and </pod>.

Changes to LocalSettings.php edit

Add this line to your LocalSettings.php:


 include_once('extensions/POD.php');

See also edit