Files
archived-www.php-fig.org/app/lib/MarkdownTokenParser.php
Alessandro Lai 0ad1361ebe Upgrade all packages
PHP to 8.4
Twig 3
Sculpin 3.3.0-alpha4 (to support Twig 3)
CommonMark 2
spatie/commonmark-highlighter v3 (to support CommonMark v2)
aptoma/twig-markdown dropped and ported inside the project
2025-02-25 16:48:55 +01:00

40 lines
928 B
PHP

<?php
namespace Fig\Website;
/**
* Ported from \Aptoma\Twig\TokenParser\MarkdownTokenParser
*/
class MarkdownTokenParser extends \Twig\TokenParser\AbstractTokenParser
{
/**
* {@inheritdoc}
*/
public function parse(\Twig\Token $token): MarkdownNode
{
$lineno = $token->getLine();
$this->parser->getStream()->expect(\Twig\Token::BLOCK_END_TYPE);
$body = $this->parser->subparse(array($this, 'decideMarkdownEnd'), true);
$this->parser->getStream()->expect(\Twig\Token::BLOCK_END_TYPE);
return new MarkdownNode($body, $lineno, $this->getTag());
}
/**
* Decide if current token marks end of Markdown block.
*/
public function decideMarkdownEnd(\Twig\Token $token): bool
{
return $token->test('endmarkdown');
}
/**
* {@inheritdoc}
*/
public function getTag(): string
{
return 'markdown';
}
}