File Coverage

lib/Kwiki/ForeignLinkGlyphs.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             package Kwiki::ForeignLinkGlyphs;
2 1     1   92870 use strict;
  1         3  
  1         49  
3 1     1   4 use warnings;
  1         3  
  1         36  
4              
5 1     1   476 use Kwiki::Plugin '-Base';
  0            
  0            
6             use mixin 'Kwiki::Installer';
7              
8             our $VERSION = '0.02';
9              
10             const class_id => 'foreignlinkglyphs';
11             const class_title => 'glyphs for foreign links';
12             const config_file => 'foreignlinkglyphs.yaml';
13              
14             sub register {
15             my $registry = shift;
16             $registry->add(preload => 'foreignlinkglyphs');
17             }
18              
19             field 'old_hyper';
20             field 'old_titlehyper';
21              
22             sub init {
23             super;
24             my $formatter = $self->hub->load_class('formatter');
25             $formatter->table->{hyper} = 'Kwiki::ForeignLinkGlyphs::Hyperlink';
26             $formatter->table->{titlehyper} = 'Kwiki::ForeignLinkGlyphs::TitledHyperlink';
27             }
28              
29             sub transform {
30             my $link = shift;
31             my $src = $self->config->foreignlinkglyph_image;
32             my $target = $self->config->foreignlinkglyph_new_window =~
33             /yes|1|true/i ? ' target="_new"' : '';
34             $link =~ s{
35             ]+)> ([^<]+) $
36             }{$2}x;
37             return $link;
38             }
39              
40             package Kwiki::ForeignLinkGlyphs::Hyperlink;
41             use base 'Kwiki::Formatter::HyperLink';
42              
43             sub html {
44             $self->hub->foreignlinkglyphs->transform( $self->SUPER::html(@_) );
45             }
46              
47             package Kwiki::ForeignLinkGlyphs::TitledHyperlink;
48             use base 'Kwiki::Formatter::TitledHyperLink';
49              
50             sub html {
51             $self->hub->foreignlinkglyphs->transform( $self->SUPER::html(@_) );
52             }
53              
54             package Kwiki::ForeignLinkGlyphs;
55             1;
56             __DATA__