parser for links
[sdlgit/SDL-Site.git] / tools / LinkResolver.pm
diff --git a/tools/LinkResolver.pm b/tools/LinkResolver.pm
new file mode 100644 (file)
index 0000000..998cd46
--- /dev/null
@@ -0,0 +1,42 @@
+
+package LinkResolver;
+use Pod::ParseUtils;
+use base qw(Pod::Hyperlink);
+
+sub new
+{
+       my $class = shift;
+       my $css = shift;
+       my $self = $class->SUPER::new();
+       $self->{css} = $css;
+       return $self;
+}
+
+sub node
+{
+       my $self = shift;
+       if($self->SUPER::type() eq 'page')
+       {
+               my $url = "?module=".$self->SUPER::page();
+               $url.=";css=".$_ for @{$self->{css}};
+               return $url;
+       }
+       $self->SUPER::node(@_);
+}
+
+sub text
+{
+       my $self = shift;
+       return $self->SUPER::page() if($self->SUPER::type() eq 'page');
+       $self->SUPER::text(@_);
+}
+
+sub type
+{
+       my $self = shift;
+       return "hyperlink" if($self->SUPER::type() eq 'page');
+       $self->SUPER::type(@_);
+}
+
+1;
+