Laravel 框架引入 markdown 编辑器

引入 markdown 编辑器packages

1.首先在 composer.json 的 require 里面加入如下内容php

"yuanchao/laravel-5-markdown-editor": "dev-master"

2.添加完成后,执行 composer updatehtml

composer update

3.执行完这行命令,基本上就安装完啦,接下来打开 config/app.php 往里面加点东西jquery

'YuanChao\Editor\EndaEditorServiceProvider'

'providers' => [

        ........

        'YuanChao\Editor\EndaEditorServiceProvider'

        ........

    ],

// 往里面加入 `'EndaEditor' => 'YuanChao\Editor\Facade\EndaEditorFacade'`

'aliases' => [

     ..........

    'EndaEditor' => 'YuanChao\Editor\Facade\EndaEditorFacade'

    ..........

    ],

4.加入以上配置之后,执行laravel

php artisan vendor:publish –force

// 加上 --force 覆盖配置文件数据库

php artisan vendor:publish --force

执行上面这行命令之后,若是出现如下结果,说明你已经安装成功了json

Copied File [/vendor/edvinaskrucas/notification/src/config/notification.php] To [/config/notification.php]
Copied Directory [/vendor/yuanchao/laravel-5-markdown-editor/src/config/views] To [/resources/views/vendor/editor]
Copied Directory [/vendor/yuanchao/laravel-5-markdown-editor/src/config/editor] To [/public/plugin/editor]
Copied File [/vendor/yuanchao/laravel-5-markdown-editor/src/config/editor.php] To [/config/editor.php]
Publishing Complete!

使用

安装完之后,说下如何使用markdown

注意!你必须先引入 jquery 在引入头部文件以前
在你的视图文件里面,须要使用编辑器的地方,先引入头部文件app

// 引入编辑器代码
  @include('editor::head')

而后,好比个人 textarea 须要把他变成编辑器,这个时候,给你的 textarea 写上一个 id = myEditorcomposer

//如: < textarea id=’myEditor’>< /textarea>

同时,在你的 textarea 的父级标签,加上 class = editor,若是你的 textarea 是被 div 包住的,那么你就这样写编辑器

// class = editor
<div class="editor">
    <textarea id='myEditor'></textarea>
</div>

必定要给父级标签加上 class = editor,由于要计算编辑器的位置

看了上面的例子,你应该明白,使用编辑器的两步就是

引入头文件给你须要变成编辑器的标签加上 id=’myEditor’ 同时父级标签加上 class = editor

图片上传使用

打开 config/editor.php 配置文件,咱们能够看到里面有一项配置是 uploadUrl 这个 uploadUrl ,指得是上传图片请求的地址,
咱们上传图片时,是经过 Ajax post 请求 控制器,控制器把图片上传,返回图片地址
好比,个人 uploadUrl 配置成了 Home/upload ,那么当我上传图片的时候,它会 Ajax 请求 Home 控制器的 upload 方法对吧?
这个时候 upload 方法里面,须要把图片上传,而后返回图片地址 可是!咱们的扩展里面已经集成了图片上传并返回编辑器所须要的数据了,因此在你的 upload 方法里面,直接调用扩展的方法就行啦!
首先,在类头部,添加引用

use EndaEditor;


public function upload(){

        // path 为 public 下面目录,好比个人图片上传到 public/uploads 那么这个参数你传uploads 就好了

        $data = EndaEditor::uploadImgFile('path');

        return json_encode($data);

    }

这个 upload 是专门用于编辑器图片上传的哦~

好了,这个时候,你的图片上传已经 ok 了!

markdown 转 html

咱们使用编辑器,把内容插入数据库后,展现给用户看的时候,总不能就输出 markdown 的语法吧~那用户也看不懂呀
因此,你须要把 markdown 转成 html,这样游览器才会解析
那么问题来了,如何转呢?咱们的扩展已经集成了这个功能。咱们来使用下
依旧是头部引入 首先,在类头部,添加引用

use EndaEditor;

而后,调用咱们的方法就行啦
// 直接把须要转换的 markdown 作为参数传递进去

$str = EndaEditor::MarkDecode("#我是markdown语法");

echo $str;
// 结果为
<h1>我是markdown语法</h1>
相关文章
相关标签/搜索