The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Pod::Simple::Wiki - A class for creating Pod to Wiki filters.

SYNOPSIS

To create a simple filter to convert from Pod to a wiki format:

    #!/usr/bin/perl

    use strict;
    use warnings;
    use Pod::Simple::Wiki;


    my $parser = Pod::Simple::Wiki->new('kwiki');

    if ( defined $ARGV[0] ) {
        open IN, $ARGV[0] or die "Couldn't open $ARGV[0]: $!\n";
    }
    else {
        *IN = *STDIN;
    }

    if ( defined $ARGV[1] ) {
        open OUT, ">$ARGV[1]" or die "Couldn't open $ARGV[1]: $!\n";
    }
    else {
        *OUT = *STDOUT;
    }

    $parser->output_fh( *OUT );
    $parser->parse_file( *IN );

    __END__

To convert Pod to a wiki format using the installed pod2wiki utility:

    pod2wiki --style mediawiki file.pod > file.wiki

DESCRIPTION

The Pod::Simple::Wiki module is used for converting Pod text to Wiki text.

Pod (Plain Old Documentation) is a simple markup language used for writing Perl documentation.

A Wiki is a user extensible web site. It uses very simple mark-up that is converted to Html. For an introduction to Wikis see: http://en.wikipedia.org/wiki/Wiki

METHODS

new('wiki_format')

The new method is used to create a new Pod::Simple::Wiki object. It is also used to set the output Wiki format.

    my $parser1 = Pod::Simple::Wiki->new( 'wiki' );
    my $parser2 = Pod::Simple::Wiki->new( 'mediawiki' );
    my $parser3 = Pod::Simple::Wiki->new(); # Defaults to 'wiki'

The currently supported formats are:

    wiki
    kwiki
    usemod
    twiki
    tiddlywiki
    textile
    wikipedia or mediawiki
    markdown
    moinmoin
    confluence

Other methods

Pod::Simple::Wiki inherits all of the methods of Pod::Simple. See Pod::Simple for more details.

Supported Formats

The following wiki formats are supported by Pod::Simple::Wiki:

wiki

This is the original Wiki format as used on Ward Cunningham's Portland repository of Patterns. See http://c2.com/cgi/wiki.

kwiki

This is the format as used by Brian Ingerson's Kwiki: http://www.kwiki.org.

usemod

This is the format used by the Usemod wikis. See: http://www.usemod.com/cgi-bin/wiki.pl.

twiki

This is the format used by TWiki wikis. See: http://twiki.org/.

tiddlywiki

This is the format used by the TiddlyWiki. See: http://www.tiddlywiki.com/.

textile

The Textile markup format as used on GitHub. See: http://textile.thresholdstate.com/.

wikipedia or mediawiki

This is the format used by Wikipedia and MediaWiki wikis. See: http://www.mediawiki.org/.

markdown

This is the format used by GitHub and other sites. See: http://daringfireball.net/projects/markdown/syntax.

moinmoin

This is the format used by MoinMoin wikis. See: http://moinmo.in/MoinMoinWiki.

muse

Emacs Muse (also known as "Muse" or "Emacs-Muse") is an authoring and publishing environment for Emacs.

confluence

This is the format used by Confluence. See: http://www.atlassian.com/software/confluence/.

If no format is specified the parser defaults to wiki.

Any other parameters in new will be passed on to the parent Pod::Simple object. See Pod::Simple for more details.

Porting New Wiki Formats

If you are interested in porting a new wiki format have a look at Pod::Simple::Wiki::Template.

The Pod::Simple::Wiki git repository is: http://github.com/jmcnamara/pod-simple-wiki/.

SEE ALSO

This module also installs a pod2wiki command line utility. See pod2wiki --help for details.

TODO

  • Fix some of the =over edge cases. See the TODOs in the test programs.

ACKNOWLEDGEMENTS

Thanks to Sean M. Burke for Pod::Simple. It may not be simple but sub-classing it is. :-)

Thanks to Zoffix Znet for various pull requests and fixes.

Thanks to Sam Tregar for TWiki support.

Thanks Tony Sidaway for Wikipedia/MediaWiki support.

Thanks to Daniel T. Staal for Markdown support.

Thanks to Michael Matthews for MoinMoin support.

Thanks to Christopher J. Madsen for several MediaWiki additions and tests.

Thanks Tim Bunce for the TiddlyWiki prod and Ron Savage for the port.

Thanks to Olivier 'dolmen' Mengué for various TiddlyWiki patches.

Thanks to David Bartle, Andrew Hobbs and Jim Renwick for confluence patches.

Thanks to Peter Hallam for MediaWiki enhancements.

Thanks to Marco Pessotto for the Muse format.

DISCLAIMER OF WARRANTY

Because this software is licensed free of charge, there is no warranty for the software, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the software "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the software is with you. Should the software prove defective, you assume the cost of all necessary servicing, repair, or correction.

In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the software as permitted by the above licence, be liable to you for damages, including any general, special, incidental, or consequential damages arising out of the use or inability to use the software (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the software to operate with any other software), even if such holder or other party has been advised of the possibility of such damages.

LICENSE

Either the Perl Artistic Licence http://dev.perl.org/licenses/artistic.html or the GPL http://www.opensource.org/licenses/gpl-license.php.

AUTHOR

John McNamara jmcnamara@cpan.org

COPYRIGHT

MMIII-MMIV, John McNamara.

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.