twig / markdown-extension
v1.0.7
2019-02-25 19:50 UTC
Requires
- php: ^7.0
- twig/twig: ^1.34 || ^2.4
Requires (Dev)
- erusev/parsedown: ^1.7
- league/commonmark: ^0.4 || ^1.0
- league/html-to-markdown: ^4.8
- michelf/php-markdown: ^1.8
- symfony/phpunit-bridge: ^4.1.8
README
警告:此包已弃用;请迁移到 twig/markdown-extra
。
此包为Twig和Symfony提供Markdown到HTML过滤器(markdown
)和HTML到Markdown过滤器(html_to_markdown
)。
如果您没有使用Symfony,请手动在Twig的Environment
上注册扩展
use Twig\Markdown\MarkdownExtension; use Twig\Environment; $twig = new Environment(...); $twig->addExtension(new MarkdownExtension());
您还必须注册扩展运行时(如果您使用Symfony或具有Twig集成的框架,请跳过此步骤)
use Twig\Markdown\DefaultMarkdown; use Twig\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()); } } });
从Twig模板中使用markdown
和html_to_markdown
过滤器
{% filter markdown %} Title ====== Hello! {% endfilter %} {% filter html_to_markdown %} <html> <h1>Hello!</h1> </html> {% endfilter %}
请注意,您可以对Markdown内容进行缩进,因为在转换之前将统一删除前导空格
{% filter markdown %} Title ====== Hello! {% endfilter %}
您还可以通过将选项作为参数传递给过滤器来添加一些选项
{% filter html_to_markdown({hard_break: false}) %} <html> <h1>Hello!</h1> </html> {% endfilter %}
您还可以在包含的文件中使用过滤器
{{ include('some_template.html.twig')|html_to_markdown }} {{ include('some_template.markdown.twig')|markdown }}