Provided by: libwiki-toolkit-perl_0.84-2_all bug

NAME

       Wiki::Toolkit::Formatter::Multiple - Allows a Wiki::Toolkit wiki to use more than one
       formatter.

DESCRIPTION

       A "dummy" formatter for Wiki::Toolkit.  Passes methods through to other Wiki::Toolkit
       formatters, depending on supplied metadata.

SYNOPSIS

         use Wiki::Toolkit::Formatter::Multiple;
         use Wiki::Toolkit::Formatter::Pod;
         use Wiki::Toolkit::Formatter::UseMod;

         my $pod_fmtr = Wiki::Toolkit::Formatter::Pod->new(
             node_prefix => "wiki.cgi?node=",
         );

         my $usemod_fmtr = Wiki::Toolkit::Formatter::UseMod->new(
             node_prefix    => "wiki.cgi?node=",
             extended_links => 1,
             allowed_tags   => [ qw( p b i div br ) ],
         );

         my $formatter = Wiki::Toolkit::Formatter::Multiple->new(
             documentation => $pod_fmtr,
             discussion    => $usemod_fmtr,
             _DEFAULT      => $usemod_fmtr,
         );

         my $wiki = Wiki::Toolkit->new( store     => ...,
                                        formatter => $formatter );
         my $output = $wiki->format( "This is some discussion.",
                                     { formatter => "discussion" } );

METHODS

       new
             my $formatter = Wiki::Toolkit::Formatter::Multiple->new(
                 label_1  => Formatter1->new( ... ),
                 label_2  => Formatter2->new( ... ),
                 _DEFAULT => Wiki::Toolkit::Formatter::Default->new,
             );

           You may supply as many formatter objects as you wish.  They don't have to be of
           different classes; you may just wish to, for example, permit different HTML tags to be
           used on different types of pages.

           The "labels" supplied as the keys of the parameter hash should be unique.  When you
           write a node, you should store a key-value pair in its metadata where the key is
           "formatter" and the value is the label of the formatter that should be used to render
           that node.

           The "_DEFAULT" label is special - it defines the formatter that will be used for any
           node that does not have a "formatter" stored in its metadata.  The "_DEFAULT"
           formatter, if not supplied to "->new", will default to the very basic
           Wiki::Toolkit::Formatter::Default.

       format( $raw, \%metadata )
               my $output = $formatter->format( "Here is some text.", undef,
                                                { formatter => "discussion" } );

           Uses the value of "formatter" given in the metadata to decide which of the formatter
           objects passed on instantiation to use, then uses it to format the provided
           rawwikitext.

           The "undef" second element of the parameter array in the example is there because when
           this is called from a Wiki::Toolkit object, the wiki object passes itself in as the
           second parameter.

       find_internal_links( $raw, $metadata )

SEE ALSO

       Wiki::Toolkit

AUTHOR

       Kake Pugh <kake@earth.li>

SUPPORT

       Bug reports, questions and feature requests should go to cgi-wiki-dev@earth.li

COPYRIGHT

            Copyright (C) 2003-4 Kake Pugh.  All Rights Reserved.

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.