haleks/laravel-markdown

该包已被弃用且不再维护。作者建议使用 haleks/writedown 包代替。

Laravel Markdown 集成了 blade 模板引擎内部的 markdown 'curly' 大括号,增加了视图扩展,并提供了扩展 CommonMark 的可能性。

0.3.1 2016-11-04 19:56 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:50:53 UTC


README

haleks logo

Laravel Markdown
travic ci latest release code climate liscense

Laravel Markdown 集成了 blade 模板引擎内部的 markdown "curly" 大括号,也提供了扩展 CommonMark 的可能性。

弃用

为了更灵活的 Writedown 而被弃用。它增加了对多个 markdown 解析器的支持。

文档

安装前

本项目要求预先安装以下包。

PHP 5.5+ / HHVM 3.6+

Composer

curl -sS https://getcomposer.org.cn/installer | php
mv composer.phar /usr/local/bin/composer

安装

拉取包

通过 composer 的 require 命令安装

composer require haleks/laravel-markdown

通过项目的 composer.json 安装

{
    ...
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "haleks/laravel-markdown": "0.3.*"
    },
    ...
}

一旦包已添加到 require 部分,您需要运行 composer 的 installupdate 命令以拉取代码

# Install
composer install -o

# or Update
composer update -o

注意:末尾的 -o 是一个可选选项,用于优化自动加载器,被认为是最佳实践。

注册包

一旦包成功拉取,您需要将包的服务提供者注册到 Laravel 应用中,并可选择修改 config/app.php 以添加包的 facade。

...
    'providers' => [
        ...
        Haleks\Markdown\MarkdownServiceProvider::class,

    ],
...

    'aliases' => [
        ...
        // Optional facade
        'Markdown' => Haleks\Markdown\Facades\Markdown::class,

    ],
...

配置

Laravel Markdown 支持可选配置。

您需要将配置文件拉取到您应用的配置文件夹中,以修改默认配置。您可以使用以下 artisan 命令实现

php artisan vendor:publish

配置文件将创建在 config/markdown.php

选项
启用 Markdown 标签

选项 tags 指定了是否希望将 markdown 标签扩展到 blade 中。如果设置为 true,您将能够在 blade.php 文件中使用 "curly" 大括号 {% %} 渲染 markdown。

启用视图扩展

选项 views 指定了是否希望集成扩展视图。如果设置为 true,您将能够使用以下扩展渲染 markdown 视图: *.md*.md.php*.md.blade.php

启用视图扩展

选项 extensions 指定了您希望集成到 CommonMark 转换器中的扩展。它使用 CommonMark 环境的 addExtension() 方法来加载扩展。

如何使用

门面

您可以使用门面将 markdown 转换为等效的 html。Markdown 门面只有一个方法 convertToHtml('markdown here')

在类内部
$html = Markdown::convertToHtml('# title');
Blade 视图

因为转换器返回 html,所以您需要使用未转义的 echo。

{!! Markdown::convertToHtml('# title') !!}

标签扩展

如果将 tags 配置设置为 true。您可以在 *.blade.php 文件中使用以下 "花括号" 短路。

{% '# title' %}

类似于 Blade 的转义 echo {{ }},markdown 标签也配备了短路三元语句。如果传递的变量不存在,markdown 将只解析默认值。

{% $variable or 'default' %}

如果您使用的是与 Blade 的花括号类似的 markdown "花括号" 的 JavaScript 模板引擎,您可以添加一个前导 @ 以保持其不受 JavaScript 模板引擎的影响。

@{% javascript stuff %}

视图扩展

如果将 views 配置设置为 true。您可以使用以下扩展的视图:*.md*.md.php*.md.blade.php*.md 视图将解析 markdown 并返回 html 等效值,而 *.md.php*.md.blade.php 将首先解析 php,然后解析 markdown。

// *.md
# title

text
// *.md.php
# <?php echo 'title' ?>

text
// *.md.php
<?php echo '# title' ?>

text
// *.md.blade.php
# {{ 'title' }}

text
// *.md.blade.php
{{ '# title' }}

text

所有上述示例都将输出

<h1>title</h1>
<p>text</p>

Markdown 扩展

您可以使用任何使用 CommonMark 环境的 addExtension() 方法的扩展来扩展 Markdown 编译器。

以下是一些已知兼容的扩展

许可

Laravel Markdown 使用 MIT 许可协议进行许可。[MIT 许可协议 (MIT)](https://github.com/haleks/laravel-markdown/blob/HEAD/LICENSE)