Work on links

This commit is contained in:
Danielle Hutzley 2023-03-20 18:04:16 -05:00
parent b5779936da
commit 022b4e54be
1 changed files with 7 additions and 5 deletions

View File

@ -14,7 +14,7 @@ struct('Config', => {
web_schemes => '@',
standalone => '$',
head => '$',
local_domains => '@',
local_domains => '$',
});
our $DEFAULT = Config->new(
@ -49,9 +49,11 @@ sub isA($$$) {
return grep $1, $self->extensions->{type};
}
sub isLocal($$) {
my ($self,$url) = @_;
sub isLocal($$$) {
my ($self,$url,$content) = @_;
$url =~ /gemini:\/\/([^\/]+).*/ or return 0;
return 0 if (index($content, "(gemini)") == 0);
return grep $1, $self->{local_domains};
}
@ -150,7 +152,7 @@ sub parse($$$) {
elsif (index($line, '=>') == 0) {
my $data = trimLeft(substr $line, 2);
my ($uri,$content) = split " ", $data;
my ($uri,$content) = split " ", $data, 2;
if ($config->isUrl($uri) and $config->isA($uri, 'image')) {
print '<a style="display: block;" href="', escape($uri), '">';
@ -171,7 +173,7 @@ sub parse($$$) {
}
elsif ($config->isUrl($uri)) {
if ($config->isLocal($uri)) {
if ($config->isLocal($uri, $content)) {
# TODO: local http
$uri =~ s/gemini:/https:/;
$uri =~ s/\.gmi$/\.html/;