class Node in Markdown 8.2
Twig Markdown Node.
Hierarchy
- class \Drupal\markdown\Twig\Node extends \Drupal\markdown\Twig\Twig_Node
Expanded class hierarchy of Node
File
- src/
Twig/ Node.php, line 10
Namespace
Drupal\markdown\TwigView source
class Node extends \Twig_Node {
/**
* Node constructor.
*
* @param \Twig_Node $value
* The value.
* @param int $line
* The line number.
* @param string $tag
* The tag.
*/
public function __construct(\Twig_Node $value, $line, $tag = NULL) {
parent::__construct([
'value' => $value,
], [
'name' => $tag,
], $line, $tag);
}
/**
* {@inheritdoc}
*/
public function compile(Compiler $compiler) {
$compiler
->addDebugInfo($this)
->write('ob_start();' . PHP_EOL)
->subcompile($this
->getNode('value'))
->write('$content = ob_get_clean();' . PHP_EOL)
->write('preg_match("/^\\s*/", $content, $matches);' . PHP_EOL)
->write('$lines = explode("\\n", $content);' . PHP_EOL)
->write('$content = preg_replace(\'/^\' . $matches[0]. \'/\', "", $lines);' . PHP_EOL)
->write('$content = implode("\\n", $content);' . PHP_EOL)
->write('echo $this->env->getTags()["markdown"]->getMarkdown()->parse($content);' . PHP_EOL);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Node:: |
public | function | ||
Node:: |
public | function | Node constructor. |