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();
}