rianfuro/commonmark-metadata

解析Markdown文档开头的类似MultiMarkdown的元数据

安装: 19

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 1

开放问题: 0

类型:commonmark-extension

v0.1.2 2021-10-02 19:24 UTC

This package is auto-updated.

Last update: 2024-09-07 11:13:30 UTC


README

这是thephpleague/commonmark的一个扩展,用于从Markdown文件的顶部解析类似MultiMarkdown的元数据

安装

  1. 与其他包一样,需要这个包。
composer require rianfuro/commonmark-metadata
  1. 安装扩展。
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
============================

...

此外,文档内部不能引用元数据字段。