diff --git a/src/Interface/Model/Gtk/Pango/Markup.php b/src/Interface/Model/Gtk/Pango/Markup.php index ceb07e97..66b2cf94 100644 --- a/src/Interface/Model/Gtk/Pango/Markup.php +++ b/src/Interface/Model/Gtk/Pango/Markup.php @@ -22,8 +22,8 @@ interface Markup public const TAG_QUOTE = '%s'; public const TAG_TEXT = '%s'; - public const LINK_PREFIX_GEMINI = '⇒'; - public const LINK_PREFIX_DEFAULT = '⇗'; + public const LINK_PREFIX_INTERNAL = '⇒'; + public const LINK_PREFIX_EXTERNAL = '⇗'; public const WRAP_BREAK = PHP_EOL; public const WRAP_WIDTH = 320; // px diff --git a/src/Model/Gtk/Pango/Markup/Gemtext.php b/src/Model/Gtk/Pango/Markup/Gemtext.php index 786ba4db..93988a72 100644 --- a/src/Model/Gtk/Pango/Markup/Gemtext.php +++ b/src/Model/Gtk/Pango/Markup/Gemtext.php @@ -116,7 +116,7 @@ class Gemtext extends \Yggverse\Yoda\Abstract\Model\Gtk\Pango\Markup else { - $prefix = self::LINK_PREFIX_DEFAULT; + $prefix = self::LINK_PREFIX_EXTERNAL; $line[] = self::link( self::_url( @@ -208,34 +208,26 @@ class Gemtext extends \Yggverse\Yoda\Abstract\Model\Gtk\Pango\Markup private static function _url( string $link, string $base, - string &$prefix = self::LINK_PREFIX_DEFAULT + string &$prefix = self::LINK_PREFIX_EXTERNAL ): ?string { $address = new Address( $link ); + $request = new Address( + $base + ); + if ($address->isRelative()) { $address->toAbsolute( - new Address( - $base - ) + $request ); } - switch ($address->getScheme()) - { - case 'gemini': - - $prefix = self::LINK_PREFIX_GEMINI; - - break; - - default: - - $prefix = self::LINK_PREFIX_DEFAULT; - } + $prefix = $address->getScheme() == $request->getScheme() ? self::LINK_PREFIX_INTERNAL + : self::LINK_PREFIX_EXTERNAL; return $address->get(); }