daylerees/kurenai

支持元数据的多文档解析器。

2.1.0 2018-07-18 07:52 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:37:01 UTC


README

Kurenai

Kurenai

Build Status Scrutinizer Code Quality Code Coverage Code Climate HHVM Tested

Packagist Version Packagist

Kurenai 是一个用于 PHP 的元数据解析库的文档。它支持多种不同的文档内容和元数据解析器。

安装

Kurenai 可在 Packagist 上通过 Composer 获取。

composer require daylerees/kurenai

用法

Kurenai 文档看起来像这样

Some form of metadata here.
===
Some form of content here.

一个元数据部分和一个内容部分,通过三个或更多等于号 === 分隔。

以下是一个使用 JSON 作为元数据和 Markdown 作为内容的示例。

{
    "title": "Hello world!"
}
===
# Hello World

Well hello there, world!

使用名为解析器的类,元数据和内容格式可以互换。首先,让我们创建解析器实例。

$kurenai = new \Kurenai\Parser(
    new \Kurenai\Parsers\Metadata\JsonParser,
    new \Kurenai\Parsers\Content\MarkdownParser
);

在上面的例子中,我们使用 JSON 元数据解析器和 Markdown 内容解析器。现在我们可以解析一个文档。

$document = $kurenai->parse('path/to/document.md');

我们的文档可以有任意文件名或扩展名。你也可以直接传递文档的内容给 parse() 函数。

文档实例有几个有用的方法。

$document->getRaw();

这将获取原始文档内容。在 Kurenai 解析之前。

$document->getMetadata();

这将获取元数据,解析成数组。

$document->getContent();

这将获取文档内容,使用提供的解析器渲染。

$document->get('foo.bar');

get() 方法使用点符号返回元数据值。例如,上面的例子等价于获取 $metadata['foo']['bar']

如果找不到主题,将返回 null。你可以向方法提供默认值作为第二个参数。

元数据解析器

内容解析器

享受使用 Kurenai!