PHP 的平面文件内容管理包。

dev-master 2014-03-25 19:00 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:47:40 UTC


README

thin 是一个平面文件内容管理包。默认情况下,它支持 Markdown 和 Markdown Extra 格式的文件。

安装

Packagist 安装 Thin

"petersuhm/thin": "dev-master"

用法

您可以根据自己的内容类型和希望使用的解析器(默认为 Markdown)进行自定义实现。默认情况下,Thin 包含两个解析器,一个用于 Markdown,一个用于 Markdown Extra,以及一个用于处理博客文章的模型。

$postLoader = new \Thin\PostLoader;

$postLoader->config(array(
    'document_path' = '../posts',
    'document_ext' = '.md'
));

// Returns a DocumentCollection
$posts = $postLoader->all();

// You can limit the number of documents
$posts->limit(5);

// You can also order documents by metadata
$posts->orderBy('date', 'desc');
$posts->orderBy('date', 'desc')->limit(3);

foreach ($posts as $post)
{
    $post->getMetadata('title');
    $post->getContent();
    $post->getHtmlContent();

    // Metadata can be accessed dynamically as well:
    $post->title;

    // Optionally give an instance of ParserInterface as a parameter
    $post->getHtmlContent(new \Thin\Parsers\MarkdownExtraParser);

}

// The PostLoader uses a slug as identifier
$post = $postLoader->find('some-slug');

PostLoader 预期文件遵循以下约定

{
    "some_metadata": "In JSON format",
    "...": "..."
}

The content of the document.

如果您的文件具有不同的格式,您可以编写自己的加载器。