aymdev / commonmark-bundle
Symfony 扩展包,用于集成 League CommonMark,适用于 Symfony 4.4+ 应用程序
v2.1.0
2021-12-04 18:27 UTC
Requires
- php: ^7.4||^8.0
- league/commonmark: ^2.0
- symfony/config: ^4.4|^5.0|^6.0
- symfony/dependency-injection: ^4.4|^5.0|^6.0
- symfony/framework-bundle: ^4.4|^5.0|^6.0
- symfony/http-kernel: ^4.4|^5.0|^6.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- phpcompatibility/php-compatibility: ^9.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.2
- phpstan/phpstan-strict-rules: ^1.1
- sebastian/phpcpd: ^6.0
- squizlabs/php_codesniffer: ^3.6
- symfony/filesystem: ^5.1|^6.0
- symfony/phpunit-bridge: ^4.4|^5.0|^6.0
- symfony/twig-bundle: ^4.4|^5.0|^6.0
- symfony/yaml: ^4.4|^5.0|^6.0
This package is auto-updated.
Last update: 2024-09-05 00:45:31 UTC
README
一个 Symfony 4 / 5 / 6 扩展包,方便配置 league/commonmark 版本 2,允许设置多个 Markdown 转换器。
安装
使用 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
键在 CommonMark 或 GitHub 转换器之间进行选择
commonmark
(默认):带有CommonMarkCoreExtension
的MarkdownConverter
github
:带有GithubFlavoredMarkdownExtension
的MarkdownConverter
empty
:空的MarkdownConverter
(例如,用于InlinesOnlyExtension
)
转换器选项
options
键包含传递给转换器的配置,以数组形式。
有关更多信息,请参阅 CommonMark 关于配置的文档。
转换器扩展
extensions
键允许向转换器添加任何扩展类。
使用转换器
作为服务
该扩展包将您的转换器注册为带有转换器名称的 服务(服务 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') }}
如果您只有一个 转换器,则可以省略 转换器名称。