dev-master
9999999-deviMarkdowneditor for laravel
MIT
The Requires
- php >=5.4.0
- lib-pcre *
The Development Requires
by outshine
Wallogit.com
2017 © Pedro Peláez
iMarkdowneditor for laravel
一个基于 laravel 5 的markdown 编辑器, (*1)
本项目基于 传送门 二次开发完成, (*2)
首先当然是在项目的composer.json 文件中加入包的信息, (*3)
"require": {
"outshine/laravel-imarkdowneditor": "dev-master"
},
然后执行composer update就可以了, (*4)
'providers' => [ 'Outshine\Editor\iMarkdownEditorServiceProvider', ], 'aliases' => [ 'iMarkdownEditor'=> 'Outshine\Editor\Facade\iMarkdownEditorFacade', ],
3.在view视图中引用 :, (*5)
在需要编辑器的地方插入以下代码, (*6)
// 引入编辑器代码
@include('editor::head')
// 编辑器一定要被一个 class 为 editor 的容器包住
// 容器的 ID 为 myEditor 就行
图片上传配置,打开config/editor.php 配置文件,修改里面的 uploadUrl 配置项,为你的处理上传的 controller 代码, (*7)
我的上传 action 代码为, (*8)
use iMarkdownEditor;
public function upload(){
$url = '';
if (Request::hasFile('image')) {
$pic = Request::file('image');
if ($pic->isValid()) {
$newName = md5(rand(1, 1000) . $pic->getClientOriginalName()) . "." . $pic->getClientOriginalExtension();
$pic->move('uploads', $newName);
$url = '/uploads/'.$newName;
}
}
$data = array(
'status'=>empty($message)?0:1,
'message'=>'none',
'url'=>!empty($url)?$url:''
);
return json_encode($data);
}
use iMarkdownEditor;
$article = Article::first();
return view('test',[
'content'=>iMarkdownEditor::MarkDecode($art->content)
]);
直接把需要解析的 markdown 扔进这个方法就行, (*9)
{!! iMarkdownEditor::MarkDecode("#thi is markdown doucument ") !!}
注意:markdown的功能切记不要使用在评论模块上,否则会引起xss漏洞。 比如说,用户直接在markdown编辑器里面写上 标签,而且不标记为代码块的话,那么在此打开这篇文章的话就有alert弹窗提示“xss”。, (*10)
iMarkdowneditor for laravel
MIT