原文链接:  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编辑器就组装完了,当然要后续还会加入更多的编辑功能来扩充这个编辑器

最新文章

  1. ASM磁盘组扩容流程
  2. Bootsrap基本应用
  3. 内网安全工具之hscan扫描
  4. JS 传递对象问题,指针引用
  5. 带弹出列表的EditText
  6. VMware Workstation与Hyper-V不兼容。请先从系统中移除Hyper-V角色,然后再运行VMware Workstation。
  7. XML操作之Linq to Xml
  8. WPF中获取控件之间的相对位置
  9. qt编程有何替代品(没见过cairo graphics)
  10. IOS中UIDatePicker
  11. web第十天总结
  12. Linux编辑器篇-分享10个最好的Markdown编辑器
  13. Nikto学习点
  14. MySql基本使用方法
  15. 将分支推送到远程存储库时遇到错误: rejected Updates were rejected because the remote contains work that you do not have locally
  16. PCLVisualizer可视化类
  17. HDU1875 畅通工程再续【最小生成树】
  18. latex 字体大小设置
  19. JQUery利用Uploadify插件实现文件异步上传(十一)
  20. BufferReader BufferWriter

热门文章

  1. 6.cadence原理图下[原创]
  2. WebView中Js与Android本地函数的相互调用
  3. orm 通用方法——GetOneModel 条件查询一个对象
  4. C# Winform DataGridView分页功能的实现
  5. 解决iis出现这个问题-2147467259 (0x80004005)
  6. Sqlite数据库 找不到请求的 .Net Framework Data Provider。可能没有安装
  7. find命令下的atime,ctime,mtime
  8. linux下编译软件通用方法(memcached为例)
  9. Mac下配置环境变量
  10. QR二维码(转)