NAME¶
Pod::Hyperlink::BounceURL - Allow off-page links in POD to point to a URL
SYNOPSIS¶
use Pod::Hyperlink::BounceURL;
my $linkparser = new Pod::Hyperlink::BounceURL;
$linkparser->configure( URL => '/cgi-perl/support/bounce.pl?page=%s' );
my $pod2xhtml = new Pod::Xhtml( LinkParser => $linkparser );
DESCRIPTION¶
Some links in your pod may not be resolveable by Pod::Hyperlink, e.g.
"L<Some::Module>" - this module allows you to detect such
links and generate a hyperlink instead of some static text. The target URL
will probably be some kind of dynamic webpage or CGI application which can
then serve up the relevant page or send a redirect to the page, hence the
"bounce" in this module's name.
This module overrides the
type() method and, for relevant links, will
return a string which is "bounceurl:" followed by the URL, instead
of returning "page" or "item". Your pod-conversion module
can then switch on this case and emit the correct kind of markup. Pod::Xhtml
supports the use of this module.
METHODS¶
- configure( %OPTIONS )
- Set persistent configuration for this object. See
"OPTIONS".
- type()
- Behaves as Pod::Hyperlink's type() method except for the
unresolveable links, where the string returned is as described in
"DESCRIPTION".
OPTIONS¶
- URL
- The URL to handle the link, which may be absolute or relative, of any
protocol - it's just treated as a string and is passed through
sprintf(), with two string arguments that are both already
URL-escaped.
The first argument is the page name, and will always exist. The second
argument is the "node" within the page, and may be empty.
Insert '%s' where you wish the arguments to be interpolated. The string goes
through sprintf() so you should have '%%' where you want an actual
percent sign. If you need the arguments in a different order, see the
perl-specific features of "sprintf" in perlfunc.
VERSION¶
$Revision: 1.7 $
AUTHOR¶
P Kent <cpan _at_ bbc _dot_ co _dot_ uk>
COPYRIGHT¶
(c) BBC 2007. This program is free software; you can redistribute it and/or
modify it under the GNU GPL.
See the file COPYING in this distribution, or
http://www.gnu.org/licenses/gpl.txt