add quote support

This commit is contained in:
yggverse 2024-04-12 09:46:12 +03:00
parent 1b996e043b
commit 482106edf4

View File

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