Please. I have attached the class that I'm using to monkey patch around
this problem by way of an example alternative solution. Would be much
better if P::PD no longer depended on S::H::U
# @(#)$Id: ProjectDocs.pm 908 2010-10-12 22:38:24Z pjf $
package CatalystX::Usul::ProjectDocs;
use strict;
use warnings;
use version; our $VERSION = qv( sprintf '0.4.%d', q$Rev: 908 $ =~ /\d+/gmx );
use parent qw(Pod::ProjectDocs);
use Text::Tabs;
BEGIN {
eval {
require Syntax::Highlight::Perl;
my $shp = Syntax::Highlight::Perl->new;
my %scheme =
( Variable_Scalar => [ '<font color="#CC6600">', '</font>' ],
Variable_Array => [ '<font color="#FFCC00">', '</font>' ],
Variable_Hash => [ '<font color="#990099">', '</font>' ],
Variable_Typeglob => [ '<font color="#000000">', '</font>' ],
Subroutine => [ '<font color="#339933">', '</font>' ],
Quote => [ '<font color="#000000">', '</font>' ],
String => [ '<font color="#3399FF">', '</font>' ],
Comment_Normal => [ '<font color="#ff0000"><i>', '</i></font>' ],
Comment_POD => [ '<font color="#ff9999">', '</font>' ],
Bareword => [ '<font color="#000000">', '</font>' ],
Package => [ '<font color="#000000">', '</font>' ],
Number => [ '<font color="#003333">', '</font>' ],
Operator => [ '<font color="#999999">', '</font>' ],
Symbol => [ '<font color="#000000">', '</font>' ],
Keyword => [ '<font color="#0000ff"><b>', '</b></font>' ],
Builtin_Operator => [ '<font color="#000000">', '</font>' ],
Builtin_Function => [ '<font color="#000000">', '</font>' ],
Character => [ '<font color="#3399FF"><b>', '</b></font>' ],
Directive => [ '<font color="#000000"><i><b>',
'</b></i></font>' ],
Label => [ '<font color="#000000">', '</font>' ],
Line => [ '<font color="#000000">', '</font>' ], );
$shp->set_format( \%scheme );
$shp->define_substitution( q(<) => q(<),
q(>) => q(>),
q(&) => q(&) );
no warnings q(redefine); ## no critic
*Pod::ProjectDocs::Parser::PerlPod::highlighten = sub {
my ($self, $type, $text) = @_; $tabstop = 3; # Text::Tabs
return $shp->format_string( expand( $text ) );
};
};
}
1;
__END__
=pod
=head1 Name
CatalystX::Usul::ProjectDocs - Generates CPAN like pod pages
=head1 Version
0.4.$Revision: 908 $
=head1 Synopsis
use CatalystX::Usul::ProjectDocs;
my $pd = CatalystX::Usul::ProjectDocs->new( outroot => $htmldir,
libroot => $libroot,
title => $meta->name,
desc => $meta->abstract,
lang => q(en), );
$pd->gen();
=head1 Description
Inherits from L<Pod::ProjectDocs> but replaces
L<Syntax::Highlight::Universal> with L<Syntax::Highlight::Perl> if
it is available
=head1 Subroutines/Methods
None
=head1 Diagnostics
None
=head1 Configuration and Environment
None
=head1 Dependencies
=over 3
=item L<Pod::ProjectDocs>
=item L<Syntax::Highlight::Perl>
=item L<Text::Tabs>
=back
=head1 Incompatibilities
There are no known incompatibilities in this module
=head1 Bugs and Limitations
There are no known bugs in this module.
Please report problems to the address below.
Patches are welcome
=head1 Author
Peter Flanigan, C<< <Support at RoxSoft.co.uk> >>
=head1 License and Copyright
Copyright (c) 2010 Peter Flanigan. All rights reserved
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. See L<perlartistic>
This program is distributed in the hope that it will be useful,
but WITHOUT WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
=cut
# Local Variables:
# mode: perl
# tab-width: 3
# End: