原文链接:  http://www.errdev.com/post/5/

Markdown以其简洁的语法赢得了广大程序猿的喜爱,搜了一下github上相关的web编辑器,星星比较多的

Stackedit
dillinger
EpicEditor

前面两个是集成的编辑器,提供很多的功能,可是我想找一个能嵌入到当前web应用的,替换当前的WYSIWYG编辑器。只有后面一个是嵌入式的编辑器,但是试了一下提供的编辑功能随便不错,提供的API太少了,很多地方不能自定义。

还是自己来一发算了,这个也非常简单,因为所有的组件都有现成的,只需要简单拼凑一下。

bootstrap 用来做简单的布局
marked markdown 的解析器,js版本
mermaid markdown 的图表解析器,可以用markdown的语法画流程图
CodeMirror 强大的在线代码编辑器
highlightjs 代码高亮插件,自带丰富的主题

准备好了上面的插件,新建一个页面html,引入所有插件对应的css和js,mermaid暂时忽略。

 <div class="container" style="margin-top: 30px;">
<div class="row">
<div class="col-lg-6">
<div id="editor" style="border: 1px solid #d8d8d8;"></div>
</div>
<div class="col-lg-6">
<div id="preview" style="border: 1px solid #d8d8d8; height: 600px; padding: 5px;"></div>
</div>
</div>
</div>

然后在文档最后加入加入相应的js代码

 <script type="text/javascript">
var editor = CodeMirror(document.getElementById('editor'), {
lineNumbers: true,
mode: "markdown",
});
var preview = document.getElementById("preview");
editor.setSize(null, 600);
editor.on('change', function() {
preview.innerHTML = marked(editor.getValue(), {
highlight: function (code) {
return hljs.highlightAuto(code).value;
}
});
});
</script>

这样,一个简单的markdown编辑器就组装完了,当然要后续还会加入更多的编辑功能来扩充这个编辑器

打造自己的Markdown编辑器的更多相关文章

  1. 使用Atom打造无懈可击的Markdown编辑器

    一直以来都奢想拥有一款全能好用的Markdown编辑器,直到遇到了Atom.废话不多说,直接开搞! 1. 安装Atom 下载安装Atom:https://atom.io/ 2. 增强预览(markdo ...

  2. Atom打造优雅的MarkDown 编辑器

    1.下载Atom https://atom.io/ 2.安装Atom 双击自动安装,会默认安装到C盘,无法修改. 3.安装simplified-chinese-menu 插件 这是一个可以将软件汉化的 ...

  3. vscode打造最佳的markdown编辑器

    参考:https://www.jianshu.com/p/18876655b452 在macos下也设置成功:

  4. 使用Codemirror打造Markdown编辑器

    前几天突然想给自己的在线编译器加一个Markdown编辑功能,于是花了两三天敲敲打打初步实现了这个功能. 一个Markdown编辑器需要有如下常用功能: 粗体 斜体 中划线 标题 链接 图片 引用 代 ...

  5. #第一用Markdown编辑器#

    Markdown初次使用 This is a simple Markdown editor based on 'Markdown' it's * italic * style. it's also _ ...

  6. 原创|我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)

    原始冲动 最近一直在学习 Electron 开发桌面应用程序,目的是想做一个桌面编辑器,虽然一直在使用Typore这款神器,但无奈Typore太过国际化,在国内水土不服,无法满足我的一些需求. 比如实 ...

  7. Typora[MarkDown编辑器]+(PicGo+Github+JsDelivr)[个人图床] ,开启你的高效创作

    使用Typora搭配Picgo开启你的高效创作 0x00 一切都要从MarkDown说起 富文本语言的弊端 平常我们最常用的写作工具,无非是富文本编辑器中的代表--微软家的Office Word.这种 ...

  8. 我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 原始冲动 最近一 ...

  9. 最新主流 Markdown 编辑器推荐

    Markdown ,2004年由 John Gruberis 设计和开发,是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,以下将介绍目前比较流行的一 ...

随机推荐

  1. (5)XML转化成TXT

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  2. 38-语言入门-38-Coin Test

    题目地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=204    描述As is known to all,if you throw a co ...

  3. OE中admin的内置帐号

    在OE中admin的内置帐号为SUPERUSER_ID,可以用来直接做判断登录用户是否admin from openerp import SUPERUSER_ID if uid == SUPERUSE ...

  4. LA 2995 Image Is Everything 立方体成像 World Final 2004

    有一个 n * n * n 的立方体,其中一些单位立方体已经缺失(剩下部分不一定连通).每个单位立方体重 1 克,且被涂上单一的颜色(即 6 个面的一颜色相同).给出前.左.后.右.顶.底 6 个视图 ...

  5. WCF 扩展一:格式化Web服务请求XML

    扩展原因 有一WebService,在工程中添加Web Service引用后调用不成功,但是用SoapUI测试正常 分析 用tctTrace跟踪报文后发现wcf生成的报文命名空间与SoapUI的不一样 ...

  6. python numpy sum函数用法

    numpy.sum numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)[source] Sum of array element ...

  7. 支持多种浏览器的纯css下拉菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 输出图片的php代码前面不能有空白行

    第一行增加一个空白行,就至少会输出一个换行符在图片数据流的前面而图片是按图片流提供的信息显示的,前面多了内容就无法解析了.

  9. String定义与方法

    //5种构造方法 public void Con(){ String str = "sfaj"; String str1 = new String("sfajdf&quo ...

  10. ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

    use mysql mysql> select host, user from user; 将相应用户数据表中的host字段改成'%': update user set host='%' whe ...