个人站点 :http://oldchen.iwulai.com/

Markdown在技术圈越来越受欢迎,今天为大家带来一款国内开源的比较好用的Markdown编辑器——editor.md。

在这次项目中客户要求后台编辑技术文章使用Markdown编辑器;慌张地看文档.......

需要预览效果可直接访问url:

https://pandao.github.io/editor.md/index.html

同时提供了全套的下载安装教程。github开源地址:

https://github.com/pandao/editor.md/blob/master/examples/image-upload.html

在首页下载完成,解压editor.md-master.zip文件,可以看到如下图的目录结构:

- css目录中可选择editormd.min.css放在对应的项目css目录中;
- js可选择editormd.min.js放置在对应项目的js目录中,需要注意的是同时需要引入jQuery,这里使用jquery.min.js;
- examples文件夹中是一部分核心功能的demo,在使用的过程中用到对应的组件或功能可打开参考;
- fonts是需要用到字体,可一并引入项目;
- images是一些加载类的图片;
- lib是editor.md依赖的第三方js资源,比如流程图的js资源;
- plugins主要是编辑器上面的操作功能插件,比如图片上传等,可选择使用的进行加载;

引入css和js

在使用到editor.md的页面引入css和js:

<!--引入样式文件-->
<link rel="stylesheet" href="__PUBLIC__/markdown/examples/css/style.css" />
<link rel="stylesheet" href="__PUBLIC__/markdown/css/editormd.css" />
<!--引入js文件-->
<script type="text/javascript" src="__PUBLIC__/markdown/examples/js/jquery.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/markdown/editormd.js"></script>
<script type="text/javascript" src="__PUBLIC__/markdown/editormd.amd.js"></script>

页面中添加div

在需要添加editor.md编辑器的地方输入以下div:

<!--编辑器开始-->
<div id="test-editormd" name="post[post_content]"><textarea name="post[post_content]"></textarea>
</div>
<!--编辑器结束-->

注意:此处需要注意的是,无论需要html格式的内容还是markdown格式的内容,都只需要写一个textarea。此处有一个很大的坑。不少其他教程中说需要两个textarea,那么会导致后一个textarea后台获得的数据是一个数组,而不是单纯的HTML内容。

页面添加js代码

js代码用来将上面的textarea进行渲染:

<!--js开始-->
<script>$(function() {var testEditor = editormd("test-editormd", {width   : "90%",height  : 600,syncScrolling : "single",path    : "__PUBLIC__/markdown/lib/",imageUpload : true,imageFormats : ["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL : "{:U('Portal/AdminPost/upload')}",//上传图片用,,这是tp的上传saveHTMLToTextarea : true})});
</script>
<!--js结束-->
上传图片后台代码展示:
 public function upload(){if (IS_POST) {//判断是不是POST$savepath=date('Ymd').'/';//上传处理类$config=array('rootPath' => './'.C("UPLOADPATH"),'savePath' => $savepath,'maxSize' => 11048576,'saveName'   =>    array('uniqid',''),'exts'       =>    array('jpg', 'gif', 'png', 'jpeg',"txt",'zip'),'autoSub'    =>    false,);$upload = new \Think\Upload($config);//$info=$upload->upload();$first=array_shift($info);//            开始上传if(!$first) {// 上传错误提示错误信息$this->error($upload->getError());}else{// 上传成功 获取上传文件信息
//返回数据的组装$path=$first['savepath'];$name=$first['savename'];$path_='http://'.$_SERVER['HTTP_HOST']."/data/upload/".$path."/".$name;
//必须ajaxReturn$this->ajaxReturn(array('url'=>$path_,'success'=>1,'message'=>'upload success!'));}}}

注意:editor.md期望你上传图片的服务返回如下json格式的内容

{success : 0 | 1, //0表示上传失败;1表示上传成功message : "提示的信息",url     : "图片地址" //上传成功时才返回
}

PHP项目中使用 Markdown编辑器相关推荐

  1. 如何在vue项目中使用markdown编辑器

    在Vue 中使用 Vditor 官方文档 Vditor 安装 npm install vditor --save 引入 import Vditor from 'vditor' import 'vdit ...

  2. html页面嵌入markdown,在页面中插入Markdown编辑器

    前端在页面中插入Markdown编辑器: 1.官网下载:http://pandao.github.io/editor.md/ 2.你的html: Simple example - Editor.md ...

  3. React中使用Markdown编辑器

    前言 因为之前写过一个自己的博客,其中编辑文章使用的是富文本编辑器,后来用到Markdown编辑,感觉要比富文本更好用,这里简单记录一下如何在React中添加Markdown编辑器. 一 安装 这里我 ...

  4. 在HTML页面中引用Markdown编辑器(Editor.md)

    目录 1.下载Ediotor.md 2.引入Ediotor.md 3.确定Ediotor.md在哪里显示 最近写博客项目,用到了Markdown编辑器,这里介绍一款国内好用的Markdown编辑器:E ...

  5. vue3开发1:在vue3项目中集成ckeditor5编辑器,自定义图片上传,图片编辑排坑(一)

    最近尝试用了vue3进行开发,没想到在使用element-plus框架的时候出现了bug(一个星期后官方修复了),所以我对在项目中集成富文本插件ckeditor5比较忐忑,而且也没有vue3中集成ck ...

  6. csdn中的markdown编辑器如何快速复制粘贴图片?

    原文地址:https://www.fang1688.cn/study-code/1434.html 前言 我们在使用csdn的markdown编辑器复制其它网站图片,按住ctrl+C复制选择图片,然后 ...

  7. Python项目中用富文本编辑器展示精美网页

    富文本编辑器实现效果图: 左侧编辑区域,右侧渲染到HTML显示效果,除了渲染时候代码样式有所不同,其他标题.文字.图片基本满足所见即所得的效果 下面讲解富文本编辑器在Django项目中如何使用 1.前 ...

  8. 快速入门 Editor.MD---在Web项目里使用 Markdown 编辑器

    博主参考的文章 什么是Markdown Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 最直观的方法,CSDN写新文章用Markd ...

  9. drupal8中安装markdown编辑器

    安装以下几个模块 Markdown Libraries API SimpleMDE Markdown Editor 安装SimpleMDE依赖的组件 安装composer php -r "c ...

最新文章

  1. stm32 IAP APP 相互跳转实验 (keil4 jlink STM32F407ZE
  2. 简述python程序执行原理_Python程序的执行原理(1)
  3. java string jdk_Java.lang.String中JDK API 1.6.0摘要。
  4. 【正十七边形可尺规作图原理】
  5. 谷歌详述 Zoom 客户端和MMR 服务器中的两个0day
  6. java 工具箱安装方法,Java工具包的安装配置和使用-JSP教程,Java技巧及代码
  7. python生成个性二维码学习笔记
  8. as安装过程中gradle_电磁阀在安装过程中需注意的一些细节
  9. 一个普通人的震后十年
  10. CAD 图层颜色更换程序-VLISP源码(免开图层控制中心)
  11. [补集转化 有序化去重] Ural 1212 Battleship
  12. Word文档保护怎么取消
  13. 利器 | Terminal Shell 改造记录 Windows Terminal + ZSH + Tmux
  14. FI MM CO T-CODE
  15. unity小技巧收集总结--自用(三)
  16. 期刊论文调格式的注意事项
  17. matlab 将图片制作成视频并将视频输出为图片
  18. MFC软件获取USB设备的制造商、产品、序列号
  19. 【硬件】对电源模块的梳理2.0(含LDO参数详解、DCDC参考设计)
  20. Java JSF网上资源大全(持续更新)

热门文章

  1. 2你懂C语言,我不信(C深度提高)视频教程-王桂林-专题视频课程
  2. linux安装nexus私库
  3. 电子版寸照可以在手机上修改底色吗
  4. 腾讯云轻量8核16G18M服务器带宽CPU系统盘性能测评
  5. leetcode 416. 分割等和子集
  6. python win32转pdf 横版_用Python将PPT转换PDF
  7. Grounding DINO-开集目标检测论文解读
  8. 草原火势-林火蔓延模型原理及GIS应用示例
  9. 程序员培养一个兴趣爱好有多重要?
  10. 深度学习--猫狗大战pytorch实战