/[Frey]/branches/no-pager/lib/Frey/Pod.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /branches/no-pager/lib/Frey/Pod.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 691 - (hide annotations)
Tue Dec 2 22:06:05 2008 UTC (15 years, 4 months ago) by dpavlin
Original Path: trunk/lib/Frey/Pod.pm
File size: 1258 byte(s)
remove old return convention
1 dpavlin 126 package Frey::Pod;
2     use Moose;
3    
4     =head1 NAME
5    
6     Frey::Pod - display documentation
7    
8     =cut
9    
10     extends 'Frey::ClassLoader';
11     with 'Frey::Web';
12    
13     has 'class' => (
14     is => 'rw',
15     isa => 'Str',
16     required => 1,
17     );
18    
19     use File::Slurp;
20     use Data::Dump qw/dump/;
21 dpavlin 356 use Pod::Find qw/pod_where/;
22 dpavlin 126
23 dpavlin 455 sub as_markup {
24 dpavlin 178 my $self = shift;
25     my $class = $self->class;
26 dpavlin 126 use Pod::Simple::HTML;
27 dpavlin 356 my $path = pod_where( { -inc => 1 }, $class );
28     return $self->error( "Can't find pod for $class" ) unless $path;
29 dpavlin 128 my $pod = read_file( $path );
30 dpavlin 126 my $converter = Pod::Simple::HTML->new();
31     my $body;
32     my $my_classes = join('|', $self->classes);
33     $converter->output_string( \$body );
34     $converter->parse_string_document($pod);
35     $body =~ s{.*?<body [^>]+>}{}s;
36     $body =~ s{</body>\s*</html>\s*$}{};
37 dpavlin 130 $body =~ s!%3A%3A!::!g;
38 dpavlin 356 # $body =~ s{<a href="http://search\.cpan\.org/perldoc\?($my_classes)"([^>]*)>}{<a href="/$1"$2>}g;
39 dpavlin 376 $body =~ s{<a href="http://(search\.cpan\.org/perldoc\?)([^"]+)"([^>]*)>([^<]+)<([^>]+)>}{<a href="/$2"$3>$4<$5><sup><a target="$1" title="CPAN" style="text-decoration: none" href="http://$1$2"$3>&loz;<$5></sup>}g;
40 dpavlin 126 $body =~ s!</li>\n\t<ul>!<ul>!;
41     $body =~ s!</ul>!</ul></li>!;
42     $body =~ s!<p></p>!!;
43     $body =~ s!__index__!index!g;
44 dpavlin 691 $self->title( $class );
45     return $body;
46 dpavlin 379
47 dpavlin 126 }
48    
49     1;
50    

  ViewVC Help
Powered by ViewVC 1.1.26