Add $singleLine param to Twig markdown parser

This allows you to parse just a single line of Markdown, i.e. the parsed output won't include a HTML paragraph element.
This commit is contained in:
Daniel Rudolf 2019-10-24 13:03:38 +02:00
parent be0812fb55
commit 23000af64e
No known key found for this signature in database
GPG key ID: A061F02CD8DE4538
2 changed files with 10 additions and 7 deletions

View file

@ -1650,13 +1650,15 @@ class Pico
* @see Pico::substituteFileContent()
* @see Pico::getFileContent()
*
* @param string $markdown Markdown contents of a page
* @param string $markdown Markdown contents of a page
* @param bool $singleLine whether to parse just a single line of markup
*
* @return string parsed contents (HTML)
*/
public function parseFileContent($markdown)
public function parseFileContent($markdown, $singleLine = false)
{
return $this->getParsedown()->text($markdown);
$markdownParser = $this->getParsedown();
return !$singleLine ? $markdownParser->text($markdown) : $markdownParser->line($markdown);
}
/**

View file

@ -111,15 +111,16 @@ class PicoTwigExtension extends Twig_Extension
* @see Pico::substituteFileContent()
* @see Pico::parseFileContent()
*
* @param string $markdown markdown to parse
* @param array $meta meta data to use for %meta.*% replacement
* @param string $markdown markdown to parse
* @param array $meta meta data to use for %meta.*% replacement
* @param bool $singleLine whether to parse just a single line of markup
*
* @return string parsed HTML
*/
public function markdownFilter($markdown, array $meta = array())
public function markdownFilter($markdown, array $meta = array(), $singleLine = false)
{
$markdown = $this->getPico()->substituteFileContent($markdown, $meta);
return $this->getPico()->parseFileContent($markdown);
return $this->getPico()->parseFileContent($markdown, $singleLine);
}
/**