twig/markdown-extension

此包已被放弃,不再维护。作者建议使用 twig/markdown-extra 包。

Markdown扩展用于Twig

v1.0.7 2019-02-25 19:50 UTC

This package is auto-updated.

Last update: 2019-10-17 05:37:02 UTC


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模板中使用markdownhtml_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 }}