aymdev/commonmark-bundle

Symfony 扩展包,用于集成 League CommonMark,适用于 Symfony 4.4+ 应用程序

安装次数: 1,965

依赖项: 0

建议者: 0

安全性: 0

星标: 7

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

v2.1.0 2021-12-04 18:27 UTC

This package is auto-updated.

Last update: 2024-09-05 00:45:31 UTC


README

一个 Symfony 4 / 5 / 6 扩展包,方便配置 league/commonmark 版本 2,允许设置多个 Markdown 转换器。

Unit Test Suite Coding Standards Bundle installation Latest Stable Version License

安装

使用 Composer 安装它,一个自动生成的配方将为您启用该扩展包

composer require aymdev/commonmark-bundle

配置

默认不创建转换器。在路径 config/packages/aymdev_commonmark.yaml 创建一个 YAML 配置文件。以下是一个配置示例,声明了 2 个转换器

aymdev_commonmark:
    converters:
        # add any converter here
        my_converter:
            type: 'github'
            options:
                enable_strong: true
                use_underscore: false
        
        blog_post_converter:
            type: 'commonmark'
            extensions:
                - League\CommonMark\Extension\HeadingPermalink\HeadingPermalinkExtension

注意,转换器内的所有键都是可选的。

转换器类型

可以使用 type 键在 CommonMarkGitHub 转换器之间进行选择

  • commonmark(默认):带有 CommonMarkCoreExtensionMarkdownConverter
  • github:带有 GithubFlavoredMarkdownExtensionMarkdownConverter
  • empty:空的 MarkdownConverter(例如,用于 InlinesOnlyExtension

转换器选项

options 键包含传递给转换器的配置,以数组形式。

有关更多信息,请参阅 CommonMark 关于配置的文档

转换器扩展

extensions 键允许向转换器添加任何扩展类。

请参阅 CommonMark 文档中的扩展完整列表

使用转换器

作为服务

该扩展包将您的转换器注册为带有转换器名称的 服务(服务 ID)。

它还创建了一个别名,因此您可以使用 autowiring 通过 转换器名称(作为 参数名称)获取它们,类型为 League\CommonMark\MarkdownConverter 类。

示例 YAML 配置:

aymdev_commonmark:
    converters:
        # You can add an argument for this converter as:
        #   MarkdownConverter $myConverter
        my_converter:

在模板中

您可以使用 commonmark Twig 过滤器。您只需要传递一个 转换器名称

{{ markdown_content|commonmark('my_converter') }}

如果您只有一个 转换器,则可以省略 转换器名称