Browse Source

add quote support

main
yggverse 8 months ago
parent
commit
482106edf4
  1. 48
      src/Pango.php

48
src/Pango.php

@ -21,62 +21,76 @@ class Pango
\Yggverse\Gemini\Gemtext\Body $body \Yggverse\Gemini\Gemtext\Body $body
): string ): string
{ {
// Format body
$lines = $body->getLines(); $lines = $body->getLines();
$escaped = []; $escaped = [];
/// Format H1 // H1
foreach ($body->getH1() as $index => $h1) foreach ($body->getH1() as $index => $value)
{ {
$lines[$index] = sprintf( $lines[$index] = sprintf(
'<span size="xx-large">%s</span>', '<span size="xx-large">%s</span>',
self::escape( self::escape(
$h1 $value
) )
); );
$escaped[] = $index; $escaped[] = $index;
} }
/// Format H2 // H2
foreach ($body->getH2() as $index => $h2) foreach ($body->getH2() as $index => $value)
{ {
$lines[$index] = sprintf( $lines[$index] = sprintf(
'<span size="x-large">%s</span>', '<span size="x-large">%s</span>',
self::escape( self::escape(
$h2 $value
) )
); );
$escaped[] = $index; $escaped[] = $index;
} }
/// Format H3 // H3
foreach ($body->getH3() as $index => $h3) foreach ($body->getH3() as $index => $value)
{ {
$lines[$index] = sprintf( $lines[$index] = sprintf(
'<span size="large">%s</span>', '<span size="large">%s</span>',
self::escape( self::escape(
$h3 $value
) )
); );
$escaped[] = $index; $escaped[] = $index;
} }
/// Escape entities // H3
foreach ($lines as $index => $line) foreach ($body->getH3() as $index => $value)
{ {
if (!in_array($index, $escaped)) $lines[$index] = sprintf(
{ '<span size="large">%s</span>',
$lines[$index] = self::escape( self::escape(
$line $value
)
); );
$escaped[] = $index;
} }
// Quote
foreach ($body->getQuote() as $index => $value)
{
$lines[$index] = sprintf(
'<i>%s</i>',
self::escape(
$value
)
);
$escaped[] = $index;
} }
// @TODO links, code, escape entities // @TODO links, code
return implode( return implode(
PHP_EOL, PHP_EOL,

Loading…
Cancel
Save