evirma / commonmark-ext-attributes
属性扩展为League CommonMark PHP实现中的各种块和内联元素添加了定义HTML属性的语法。
v1.0.1
2021-01-30 21:21 UTC
Requires
- php: ^7.1 || ^8.0
- ext-mbstring: *
- league/commonmark: ^1.0.0-beta4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- phpunit/phpunit: ^4.3|^5.0
- symfony/var-dumper: ^2.8|^3.0
This package is auto-updated.
Last update: 2024-08-29 04:49:09 UTC
README
属性扩展为League CommonMark PHP实现中的各种块和内联元素添加了定义HTML属性的语法。Martin Hasoň为commonmark v0.18及以下版本编写了扩展,该扩展在v1.0版本中被完全重构。请注意,应用CSS类的优先级已更改。
安装
此项目可以通过Composer安装
composer require evirma/commonmark-ext-attributes
使用方法
use League\CommonMark\Converter; use League\CommonMark\DocParser; use League\CommonMark\Environment; use League\CommonMark\HtmlRenderer; use Evirma\CommonMark\Extension\AttributesExtension; $environment = Environment::createCommonMarkEnvironment(); $environment->addExtension(new AttributesExtension()); $converter = new Converter(new DocParser($environment), new HtmlRenderer($environment)); echo $converter->convertToHtml('# Hello World! {#hello}');
语法
基本语法灵感来源于Kramdown的属性列表功能。
您可以将任何属性分配给块级元素。只需直接在块前或块后加上块内属性列表即可。该列表由一个左大括号组成,后跟一个可选的分号,属性定义和一个右大括号。
> A nice blockquote {: title="Blockquote title"} {#id .class} ## Header
与块级元素类似,您可以使用内联属性列表将任何属性分配给span级元素,该列表具有相同的语法,并且必须紧接span级元素之后。
This is *red*{style="color: red"}. This is *with id*{#some-id}.