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.
pico-3.0-alpha
Daniel Rudolf 6 years ago
parent be0812fb55
commit 23000af64e
No known key found for this signature in database
GPG Key ID: A061F02CD8DE4538
  1. 8
      lib/Pico.php
  2. 9
      lib/PicoTwigExtension.php

@ -1650,13 +1650,15 @@ class Pico
* @see Pico::substituteFileContent() * @see Pico::substituteFileContent()
* @see Pico::getFileContent() * @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) * @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);
} }
/** /**

@ -111,15 +111,16 @@ class PicoTwigExtension extends Twig_Extension
* @see Pico::substituteFileContent() * @see Pico::substituteFileContent()
* @see Pico::parseFileContent() * @see Pico::parseFileContent()
* *
* @param string $markdown markdown to parse * @param string $markdown markdown to parse
* @param array $meta meta data to use for %meta.*% replacement * @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 * @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); $markdown = $this->getPico()->substituteFileContent($markdown, $meta);
return $this->getPico()->parseFileContent($markdown); return $this->getPico()->parseFileContent($markdown, $singleLine);
} }
/** /**

Loading…
Cancel
Save