rianfuro / commonmark-metadata
解析Markdown文档开头的类似MultiMarkdown的元数据
v0.1.2
2021-10-02 19:24 UTC
Requires
- php: >=7.4
- league/commonmark: ^2.0.2
This package is auto-updated.
Last update: 2024-09-07 11:13:30 UTC
README
这是thephpleague/commonmark的一个扩展,用于从Markdown文件的顶部解析类似MultiMarkdown的元数据。
安装
- 与其他包一样,需要这个包。
composer require rianfuro/commonmark-metadata
- 安装扩展。
use CommonMark\Extension\Metadata\MetadataExtension; $environment = new Environment([]); // ... other extensions $environment->addExtension(new MetadataExtension); new MarkdownConverter($environment);
使用
当包含扩展时,CommonMark解析器会自动使用该扩展。该扩展将元数据部分转换为MetadataBlock
,其中包含的属性在它的data
属性中。例如,您可以使用CommonMark的查询工具来获取块并获取其数据
$metadata = (new Query()) ->where(Query::type(MetadataBlock::class)) ->findOne($document); $metadata->data->export(); // note that this always includes the default `attributes` field
当前限制
该项目处于非常早期的阶段,因此解析非常有限。目前,元数据需要用yaml风格的分隔符括起来(根据规范应该是可选的)
--- Author: Me Title: Super Awesome Document --- My Amazing Markdown Document ============================ ...
此外,文档内部不能引用元数据字段。