maxxscho/laravel-markdown-plus

此包已被弃用且不再维护。未建议替代包。

一个简单的 Laravel Markdown 解析器,.md 文件中可选的元数据部分

1.0 2014-07-22 19:24 UTC

This package is auto-updated.

Last update: 2023-11-29 02:40:25 UTC


README

不再维护了!!

Laravel Markdown-Plus

Build Status

一个简单的 Laravel 4 markdown 文件解析器,带有可选的元数据部分。

安装

Laravel Markdown-Plus 可以通过在项目的 composer.json 中添加 maxxscho/laravel-markdown-plus 包来使用 composer 进行安装。

{
    "require": {
        "maxxscho/laravel-markdown-plus": "~0"
    }
}

接下来将服务提供者和别名添加到 app/config/app

'providers' => [
    // ...
    'Maxxscho\LaravelMarkdownPlus\LaravelMarkdownPlusServiceProvider',
],

'aliases' => [
    // ..
    'MarkdownPlus' => 'Maxxscho\LaravelMarkdownPlus\Facade\LaravelMarkdownPlusFacade',
],

使用

Markdown 文件示例

元数据部分应以 YAML 风格书写,由自定义分隔符分隔,可以在配置中设置为一个正则表达式,默认为空行中的 3 个或更多短横线。示例

title: This is the title
subtitle: This is the subtitle
date: 5. September 2013
tags: [code, laravel]
---
# Content goes here

Lorem Ipsum ...

Laravel 中的使用

$file = File::get('test.md');

$document = MarkdownPlus::make($file);
$content = $document->getContent();
$title = $document->title(); // magic method

return View::make('your-view', compact('title', 'content'));

元数据将使用 Symfony 的 Yaml 解析器 进行解析。解析后,元数据为一个多维数组。
日期格式为 YYYY-MM-DD 的日期将被解析为时间戳。

可用方法

$document->getContent() - 返回解析后的 Markdown (HTML 内容)

$document->getRawContent() - 返回原始内容 (纯 Markdown)

$document->getMeta() - 返回整个元数据作为一个多维数组

$document->title() - 这是一个魔法方法。方法名返回其等效的元数据。例如 $document->cool-meta() 返回 cool-meta: Cool Value 的值

配置

Laravel-Markdown-Plus 包含一些基本的配置。
发布配置以自定义选项

php artisan config:publish maxxscho/laravel-markdown-plus 

您可以在 app/config/packages/maxxscho/laravel-markdown-plus 中找到配置文件

可用的配置选项

'use_meta' => true, - 是否使用元数据

'section_splitter' => '/\s+-{3,}\s+/', - 部分分隔符

'use_extra' => true, - 是否解析带有 额外功能 的 markdown

'markdown_parser_options' - markdown 解析器的选项。 更多信息

许可证

这是免费软件,根据 MIT 许可证的条款分发。

附加信息

本包灵感来源于Dayle Rees Kurenai

此包使用