evirma/commonmark-ext-attributes

属性扩展为League CommonMark PHP实现中的各种块和内联元素添加了定义HTML属性的语法。

安装数: 1,426

依赖项: 2

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 1

类型:commonmark-extension

v1.0.1 2021-01-30 21:21 UTC

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}.