petersuhm / thin
PHP 的平面文件内容管理包。
dev-master
2014-03-25 19:00 UTC
Requires
- michelf/php-markdown: 1.4.*@dev
- petersuhm/configure: 1.0.*
Requires (Dev)
- phpspec/phpspec: 2.0.*@dev
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.
如果您的文件具有不同的格式,您可以编写自己的加载器。