ryanwinchester / pagemark
解析博客或维基的Markdown
v0.6.0
2016-04-29 17:52 UTC
Requires
- php: >=5.4.0
- erusev/parsedown: ~1.5
- illuminate/filesystem: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.1
This package is auto-updated.
Last update: 2024-08-28 22:22:11 UTC
README
解析博客和维基的Markdown页面
有多种方法可以获取内容。
use Pagemark\Pagemark; $basePath = '/my/path/to/wiki'; $post = 'Category/Subcategory/My-Post'; $content = Pagemark::parse($basePath, $post);
use Pagemark\Pagemark; $pagemark = Pagemark::create(); $basePath = '/my/path/to/wiki'; $post = 'Category/Subcategory/My-Post'; $content = $pagemark->getContent($basePath, $post);
use Pagemark\Pagemark; use Pagemark\Parser; use Illuminate\Filesystem\Filesystem; use Parsedown; $pagemark = new Pagemark(new Filesystem, new Parser(new Parsedown)); $basePath = '/my/path/to/wiki'; $post = 'Category/Subcategory/My-Post'; $content = $pagemark->getContent($basePath, $post);
示例返回值
$content = [ 'title' => 'File', 'breadcrumbs' => [ [ 'href' => '/Category', 'name' => 'Category' ], [ 'href' => '/Category/Subcategory', 'name' => 'Subcategory' ], [ 'href' => '/Category/Subcategory/My-Post', 'name' => 'My Post' ], ], 'index' => ['subcategories' => [], 'files' => []], 'post' => '<p>Some text from My-Post.md</p>' ];
解释
$title
- 文件或目录名中提取的帖子或类别的标题。$breadcrumbs
是一个面包屑数组。$index
如果您已导航到目录,则可用,否则为空数组$index['subcategories']
是当前目录中的子目录数组$index['files']
是当前目录中的文件数组
$post
是解析后的Markdown内容的字符串
使用不同的解析器。
默认情况下使用的Markdown解析器是 erusev/parsedown。要使用不同的解析器,您需要创建自己的实现 Parseable
接口的解析器或为不同的库创建适配器,该库实现 Parseable
。
use Pagemark\Pagemark; $myCustomParser = new CustomParser; $pagemark = Pagemark::create($myCustomParser); $basePath = '/my/path/to/wiki'; $post = 'Category/Subcategory/My-Post'; $content = $pagemark->getContent($basePath, $post);
use Pagemark\Pagemark; use Pagemark\Parser; use Illuminate\Filesystem\Filesystem; $myCustomParser = new CustomParser; $pagemark = new Pagemark(new Filesystem, $myCustomParser); $basePath = '/my/path/to/wiki'; $post = 'Category/Subcategory/My-Post'; $content = $pagemark->getContent($basePath, $post);