diff --git a/README.md b/README.md index d80d855..5eaa349 100644 --- a/README.md +++ b/README.md @@ -109,30 +109,6 @@ var_dump( ); ``` -## GTK3 - -### Pango - -Converter to GTK3-compatible Pango format - -#### Pango::fromGemtext - -``` php -$pango = \Yggverse\Gemini\Pango::fromGemtext( - $gemtext -); -``` - -#### Pango::fromGemtextBody - -``` php -$pango = \Yggverse\Gemini\Pango::fromGemtextBody( - new \Yggverse\Gemini\Gemtext\Body( - $gemtext - ) -); -``` - ## DokuWiki Toolkit provides DokuWiki API for Gemini. diff --git a/src/Gtk3/Pango.php b/src/Gtk3/Pango.php deleted file mode 100644 index 3a8099a..0000000 --- a/src/Gtk3/Pango.php +++ /dev/null @@ -1,225 +0,0 @@ -getLines(); - - $raw = []; - - $escaped = []; - - // Code - $code = $body->getCode(); - - if (count($code) % 2 == 0) // make sure tags has pairs - { - $i = 1; - - foreach ($code as $index => $capture) - { - // Replace code tags - if ($i % 2 == 0) - { - $lines[$index] = ''; - - // Skip code format inside the tags by raw registry - foreach (array_slice($lines, $offset, $index - $offset) as $start => $line) - { - $raw[$start + $offset] = $line; - } - } - - else - { - if ($capture) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $capture - ) - ); - } - - else - { - $lines[$index] = ''; - } - - $offset = $index + 1; - } - - $escaped[] = $index; - - $i++; - } - } - - // H1 - foreach ($body->getH1() as $index => $value) - { - if (!isset($raw[$index])) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $value - ) - ); - - $escaped[] = $index; - } - } - - // H2 - foreach ($body->getH2() as $index => $value) - { - if (!isset($raw[$index])) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $value - ) - ); - - $escaped[] = $index; - } - } - - // H3 - foreach ($body->getH3() as $index => $value) - { - if (!isset($raw[$index])) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $value - ) - ); - - $escaped[] = $index; - } - } - - // Quote - foreach ($body->getQuote() as $index => $value) - { - if (!isset($raw[$index])) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $value - ) - ); - - $escaped[] = $index; - } - } - - // Links - foreach ($body->getLinks() as $index => $line) - { - if (!isset($raw[$index])) - { - $link = new \Yggverse\Gemini\Gemtext\Link( - $line - ); - - if (!$address = $link->getAddress()) - { - continue; - } - - if (!$alt = $link->getAlt()) - { - if (!$alt = $link->getDate()) - { - $alt = urldecode( - $address - ); - } - } - - if ($alt == $address) - { - $lines[$index] = sprintf( - '%s', - self::escape( - $address - ), - self::escape( - $alt - ) - ); - } - - else - { - $lines[$index] = sprintf( - '%s', - self::escape( - $address - ), - self::escape( - urldecode( - $address - ) - ), - self::escape( - $alt - ) - ); - } - - $escaped[] = $index; - } - } - - // Escape special chars for non escaped lines - foreach ($body->getLines() as $index => $value) - { - if (!in_array($index, $escaped)) - { - $lines[$index] = self::escape( - $value - ); - } - } - - return implode( - PHP_EOL, - $lines - ); - } - - public static function escape( - string $value - ): string - { - return htmlspecialchars( - $value - ); - } -} \ No newline at end of file