Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。
MarkdownEditor 是一款基于浏览器的 Markdown 文本编辑器,功能非常简单实用。
在线地址:http://jbt.github.io/markdown-editor
资源地址:https://github.com/jbt/markdown-editor
此文本编辑器使用许可描述为“只要你喜欢,你可以随意复制、修改和使用他。(Feel free to take the code and copy it and modify it and use it however you like. )”
其中的图标的使用是此开源产品的一项特色,如下图所示。
源代码中所引用资源如下代码块所示:
<script src="markdown-it.js"></script>
<script src="markdown-it-footnote.js"></script>
<script src="highlight.pack.js"></script>
<script src="emojify.js"></script>
<script src="codemirror/lib/codemirror.js"></script>
<script src="codemirror/overlay.js"></script>
<script src="codemirror/xml/xml.js"></script>
<script src="codemirror/markdown/markdown.js"></script>
<script src="codemirror/gfm/gfm.js"></script>
<script src="codemirror/javascript/javascript.js"></script>
<script src="codemirror/css/css.js"></script>
<script src="codemirror/htmlmixed/htmlmixed.js"></script>
<script src="codemirror/lib/util/continuelist.js"></script>
<script src="rawinflate.js"></script>
<script src="rawdeflate.js"></script>
<link rel="stylesheet" href="base16-light.css">
<link rel="stylesheet" href="codemirror/lib/codemirror.css">
<link rel="stylesheet" href="default.css">
注:按个人的习惯,把JavaScript代码改为JS文件夹下,样式代码改为CSS文件夹下。另有emoji目录,存储信息交互时所使用的靓丽的图标。
源代码中已经有类似导出/存储文档的功能代码,识别出来稍微修改即可。
function saveAsMarkdown(){
var code = editor.getValue();
var blob = new Blob([code], { type: ‘text/plain‘ });
saveBlob(blob, "untitled.md");
}
function saveAsHtml() {
var code = document.getElementById(‘out‘).innerHTML;
var blob = new Blob([code], { type: ‘text/plain‘ });
saveBlob(blob, "untitled.html");
}
需要增加便捷上传图片功能,实现图文混排。可以借用源代码中快捷键(Ctrl/Cmd + S)方式处理,可参见源代码如下:
function showMenu() {
document.getElementById(‘menu‘).style.display = ‘block‘;
}
document.addEventListener(‘keydown‘, function(e){
if(e.keyCode == 83 && (e.ctrlKey || e.metaKey)){
e.preventDefault();
showMenu();
return false;
}
});
信息发布界面是上下结构,上面是在线显示,下面输入框是在线编辑。
功能名称 | 功能描述 | 备注 |
---|---|---|
信息发布 | 发布编辑好的信息内容 | Markdown文本和HTML文本分别保存 |
上传图片 | 上传图片文件到系统 | 编辑器里是链接,在线显示是图片 |
编辑 | 提供编辑按钮,方便修改 | |
退出 | 退出编辑状态,关闭窗口 |
信息发布内容所涉及到的Markdown原文、转换后的HTML文档及图片,分别保存到文档数据库(MongoDB)中。
扩展支持流程图和UML时序图功能,在信息发布中不实用,仅作技术交流研究,需要额外引入插件,流程图使用flowchart,开源地址为:https://github.com/adrai/flowchart.js
本人下载整理资源地址:http://pan.baidu.com/s/1jGrc4nk,如果失效请联系反馈。
引用他人的话:Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到这里请不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
如有其他易用开源资源及建议,欢迎反馈、交流。
Markdown文本编辑器在信息发布及信息交互功能上的使用(一)
原文地址:http://blog.csdn.net/xiaoyw71/article/details/45766701