forked from github/kensanata.oddmuse
gopher-server: support gopher tags
See gopher://circumlunar.space:70/0/~solderpunk/phlog/tagged-gophers.txt
This commit is contained in:
@@ -572,9 +572,10 @@ sub serve_text_page {
|
||||
my $id = shift;
|
||||
my $page = shift;
|
||||
my $text = $page->{text};
|
||||
$text =~ s/^\./../mg;
|
||||
$text =~ s/\[\[tag:([^]]+)\]\]/'#' . join('_', split(' ', $1))/mge;
|
||||
$self->log(3, "Serving " . UrlEncode($id) . " as " . length($text)
|
||||
. " bytes of text");
|
||||
$text =~ s/^\./../mg;
|
||||
$self->print_text($text);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ END {
|
||||
# kill server
|
||||
if ($pid) {
|
||||
kill 'KILL', $pid or warn "Could not kill server $pid";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
our ($DataDir);
|
||||
@@ -85,7 +85,7 @@ sub query_gopher {
|
||||
|
||||
$socket->print("$query\r\n");
|
||||
$socket->print($text);
|
||||
|
||||
|
||||
undef $/; # slurp
|
||||
return <$socket>;
|
||||
}
|
||||
@@ -306,4 +306,10 @@ $page = query_gopher("Gopher/menu");
|
||||
like($page, qr/^1Phlogs\t\/phlogs\/\tsdf\.org\t70/m, "Direct Gopher link");
|
||||
like($page, qr/^0VF-1\t\/users\/solderpunk\/phlog\/introducing-vf1.txt\tsdf\.org\t70/m, "Floodgap proxy link");
|
||||
|
||||
# gopher tags
|
||||
update_page('Gopher', 'Tags: [[tag:Gopher]] [[tag:Perl 6]]');
|
||||
$page = query_gopher("Gopher");
|
||||
like($page, qr/#Gopher/m, "Gopher tag");
|
||||
like($page, qr/#Perl_6/m, "Gopher multi-word tag");
|
||||
|
||||
done_testing();
|
||||
|
||||
Reference in New Issue
Block a user