mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-02 01:25:27 +00:00
fix preformatted markup
This commit is contained in:
parent
6d37944c04
commit
5b7ff6974e
1 changed files with 125 additions and 65 deletions
|
|
@ -160,112 +160,172 @@ class Data
|
||||||
|
|
||||||
case $entity instanceof \Yggverse\Gemtext\Entity\Header:
|
case $entity instanceof \Yggverse\Gemtext\Entity\Header:
|
||||||
|
|
||||||
switch ($entity->getLevel())
|
if ($preformatted)
|
||||||
{
|
{
|
||||||
case 1: // #
|
$line[] = htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->toString()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$line[] = sprintf(
|
else
|
||||||
'<span size="xx-large">%s</span>',
|
{
|
||||||
htmlspecialchars(
|
switch ($entity->getLevel())
|
||||||
$this->_wrap(
|
{
|
||||||
$entity->getText()
|
case 1: // #
|
||||||
|
|
||||||
|
$line[] = sprintf(
|
||||||
|
'<span size="xx-large">%s</span>',
|
||||||
|
htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->getText()
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
|
||||||
|
|
||||||
// Find and return document title by first # tag
|
// Find and return document title by first # tag
|
||||||
if (empty($title))
|
if (empty($title))
|
||||||
{
|
{
|
||||||
$title = $entity->getText();
|
$title = $entity->getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // ##
|
case 2: // ##
|
||||||
|
|
||||||
$line[] = sprintf(
|
$line[] = sprintf(
|
||||||
'<span size="x-large">%s</span>',
|
'<span size="x-large">%s</span>',
|
||||||
htmlspecialchars(
|
htmlspecialchars(
|
||||||
$this->_wrap(
|
$this->_wrap(
|
||||||
$entity->getText()
|
$entity->getText()
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: // ###
|
case 3: // ###
|
||||||
|
|
||||||
$line[] = sprintf(
|
$line[] = sprintf(
|
||||||
'<span size="large">%s</span>',
|
'<span size="large">%s</span>',
|
||||||
htmlspecialchars(
|
htmlspecialchars(
|
||||||
$this->_wrap(
|
$this->_wrap(
|
||||||
$entity->getText()
|
$entity->getText()
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
||||||
throw new \Exception;
|
throw new \Exception;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case $entity instanceof \Yggverse\Gemtext\Entity\Link:
|
case $entity instanceof \Yggverse\Gemtext\Entity\Link:
|
||||||
|
|
||||||
$line[] = sprintf(
|
if ($preformatted)
|
||||||
'<a href="%s" title="%s">%s</a>',
|
{
|
||||||
$this->_url(
|
$line[] = htmlspecialchars(
|
||||||
$entity->getAddress()
|
|
||||||
),
|
|
||||||
htmlspecialchars(
|
|
||||||
$entity->getAddress()
|
|
||||||
),
|
|
||||||
htmlspecialchars(
|
|
||||||
$this->_wrap(
|
$this->_wrap(
|
||||||
$entity->getAlt() ? $entity->getAlt()
|
$entity->toString()
|
||||||
: $entity->getAddress() // @TODO date
|
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$line[] = sprintf(
|
||||||
|
'<a href="%s" title="%s">%s</a>',
|
||||||
|
$this->_url(
|
||||||
|
$entity->getAddress()
|
||||||
|
),
|
||||||
|
htmlspecialchars(
|
||||||
|
$entity->getAddress()
|
||||||
|
),
|
||||||
|
htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->getAlt() ? $entity->getAlt()
|
||||||
|
: $entity->getAddress() // @TODO date
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case $entity instanceof \Yggverse\Gemtext\Entity\Listing:
|
case $entity instanceof \Yggverse\Gemtext\Entity\Listing:
|
||||||
|
|
||||||
$line[] = sprintf(
|
if ($preformatted)
|
||||||
'* %s',
|
{
|
||||||
htmlspecialchars(
|
$line[] = htmlspecialchars(
|
||||||
$this->_wrap(
|
$this->_wrap(
|
||||||
$entity->getItem()
|
$entity->toString()
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$line[] = sprintf(
|
||||||
|
'* %s',
|
||||||
|
htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->getItem()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case $entity instanceof \Yggverse\Gemtext\Entity\Quote:
|
case $entity instanceof \Yggverse\Gemtext\Entity\Quote:
|
||||||
|
|
||||||
$line[] = sprintf(
|
if ($preformatted)
|
||||||
'<i>%s</i>',
|
{
|
||||||
htmlspecialchars(
|
$line[] = htmlspecialchars(
|
||||||
$this->_wrap(
|
$this->_wrap(
|
||||||
$entity->getText()
|
$entity->toString()
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
);
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$line[] = sprintf(
|
||||||
|
'<i>%s</i>',
|
||||||
|
htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->getText()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case $entity instanceof \Yggverse\Gemtext\Entity\Text:
|
case $entity instanceof \Yggverse\Gemtext\Entity\Text:
|
||||||
|
|
||||||
$line[] = htmlspecialchars(
|
if ($preformatted)
|
||||||
$this->_wrap(
|
{
|
||||||
$entity->getData()
|
$line[] = htmlspecialchars(
|
||||||
)
|
$this->_wrap(
|
||||||
);
|
$entity->toString()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$line[] = htmlspecialchars(
|
||||||
|
$this->_wrap(
|
||||||
|
$entity->getData()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue