plan9port/dist/addsrclinks

24 lines
488 B
Perl
Executable file

#!/usr/bin/env perl
@_ = <>;
my $root = $ENV{'PLAN9'};
my $html = join("", @_);
$html =~ s;$root/;XXX$root/;g;
while($html =~ /((.|\n)*)XXX($root\/([a-zA-Z0-9_.\/]|&#8722;)*[a-zA-Z0-9_\/])((.|\n)*)/){
($a, $b, $c) = ($1, $3, $5);
$b =~ s/&#8722;/-/g;
$l = $b;
while(! -e $l){
if($l =~ /(.*\/)(.+)/){
$l = $1;
}else{
last;
}
}
$bb = substr($b, length($l));
$b = $l;
$b =~ s/-/\&#8722;/g;
$bb =~ s/-/\&#8722;/g;
$html = "$a<a href=\"$l\">$b</a>$bb$c";
}
print $html;