markdown_to_html
¶
这个 markdown_to_html
过滤器将降价块转换为HTML:
1 2 3 4 5 6 | {% apply markdown_to_html %}
Title
======
Hello!
{% endapply %}
|
请注意,您可以缩进降价内容,因为在转换之前,前导空格将被一致删除:
1 2 3 4 5 6 | {% apply markdown_to_html %}
Title
======
Hello!
{% endapply %}
|
也可以对包含的文件或变量使用过滤器:
1 2 3 | {{ include('some_template.markdown.twig')|markdown_to_html }}
{{ changelog|markdown_to_html }}
|
注解
这个 markdown_to_html
过滤器是 MarkdownExtension
默认情况下不安装。先安装:
1 | $ composer require twig/markdown-extra
|
然后,在symfony项目上,安装 twig/extra-bundle
:
1 | $ composer require twig/extra-bundle
|
否则,请在Twig环境中显式添加扩展::
use Twig\Extra\Markdown\MarkdownExtension;
$twig = new \Twig\Environment(...);
$twig->addExtension(new MarkdownExtension());
如果不使用Symfony,则还必须注册扩展运行时::
use Twig\Extra\Markdown\DefaultMarkdown;
use Twig\Extra\Markdown\MarkdownRuntime;
use Twig\RuntimeLoader\RuntimeLoaderInterface;
$twig->addRuntimeLoader(new class implements RuntimeLoaderInterface {
public function load($class) {
if (MarkdownRuntime::class === $class) {
return new MarkdownRuntime(new DefaultMarkdown());
}
}
});
以后需要安装一个标记库。其中一些在 require-dev
剖面图 twig/markdown-extra
包裹。