Scroll to navigation

Pod::Simple::Wiki(3pm) User Contributed Perl Documentation Pod::Simple::Wiki(3pm)

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":

This is the original Wiki format as used on Ward Cunningham's Portland repository of Patterns. See <http://c2.com/cgi/wiki>.
This is the format as used by Brian Ingerson's Kwiki: <http://www.kwiki.org>.
This is the format used by the Usemod wikis. See: <http://www.usemod.com/cgi-bin/wiki.pl>.
This is the format used by TWiki wikis. See: <http://twiki.org/>.
This is the format used by the TiddlyWiki. See: <http://www.tiddlywiki.com/>.
The Textile markup format as used on GitHub. See: <http://textile.thresholdstate.com/>.
This is the format used by Wikipedia and MediaWiki wikis. See: <http://www.mediawiki.org/>.
This is the format used by GitHub and other sites. See: <http://daringfireball.net/projects/markdown/syntax>.
This is the format used by MoinMoin wikis. See: <http://moinmo.in/MoinMoinWiki>.
Emacs Muse (also known as "Muse" or "Emacs-Muse") is an authoring and publishing environment for Emacs.
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.

2022-10-13 perl v5.34.0