forked from pandao/editor.md
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheditormd.amd.min.js
More file actions
2 lines (2 loc) · 54.2 KB
/
Copy patheditormd.amd.min.js
File metadata and controls
2 lines (2 loc) · 54.2 KB
1
2
/*! Editor.md v1.5.0 | editormd.amd.min.js | Open source online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2018-03-29 */
!function(e){"use strict";if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module)module.exports=e;else if("function"==typeof define)if(define.amd){var t="codemirror/mode/",r="codemirror/addon/",n=["jquery","marked","prettify","katex","raphael","underscore","flowchart","jqueryflowchart","sequenceDiagram","codemirror/lib/codemirror",t+"css/css",t+"sass/sass",t+"shell/shell",t+"sql/sql",t+"clike/clike",t+"php/php",t+"xml/xml",t+"markdown/markdown",t+"javascript/javascript",t+"htmlmixed/htmlmixed",t+"gfm/gfm",t+"http/http",t+"go/go",t+"dart/dart",t+"coffeescript/coffeescript",t+"nginx/nginx",t+"python/python",t+"perl/perl",t+"lua/lua",t+"r/r",t+"ruby/ruby",t+"rst/rst",t+"smartymixed/smartymixed",t+"vb/vb",t+"vbscript/vbscript",t+"velocity/velocity",t+"xquery/xquery",t+"yaml/yaml",t+"erlang/erlang",t+"jade/jade",r+"edit/trailingspace",r+"dialog/dialog",r+"search/searchcursor",r+"search/search",r+"scroll/annotatescrollbar",r+"search/matchesonscrollbar",r+"display/placeholder",r+"edit/closetag",r+"fold/foldcode",r+"fold/foldgutter",r+"fold/indent-fold",r+"fold/brace-fold",r+"fold/xml-fold",r+"fold/markdown-fold",r+"fold/comment-fold",r+"mode/overlay",r+"selection/active-line",r+"edit/closebrackets",r+"display/fullscreen",r+"search/match-highlighter"];define(n,e)}else define(["jquery"],e);else window.editormd=e()}(function(){"function"==typeof define&&define.amd&&(e=arguments[0],marked=arguments[1],prettify=arguments[2],katex=arguments[3],Raphael=arguments[4],_=arguments[5],flowchart=arguments[6],CodeMirror=arguments[9]);var e="undefined"!=typeof jQuery?jQuery:Zepto;if(void 0!==e){var t=function(e,r){return new t.fn.init(e,r)};t.title=t.$name="Editor.md",t.version="1.5.0",t.homePage="https://pandao.github.io/editor.md/",t.classPrefix="editormd-",t.toolbarModes={full:["undo","redo","|","bold","del","italic","quote","ucwords","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","link","reference-link","image","code","preformatted-text","code-block","table","datetime","emoji","html-entities","pagebreak","|","goto-line","watch","preview","fullscreen","clear","search","|","help","info"],simple:["undo","redo","|","bold","del","italic","quote","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","watch","preview","fullscreen","|","help","info"],mini:["undo","redo","|","watch","preview","|","help","info"]},t.defaults={mode:"gfm",name:"",value:"",theme:"",editorTheme:"default",previewTheme:"",markdown:"",appendMarkdown:"",width:"100%",height:"100%",path:"./lib/",pluginPath:"",delay:300,autoLoadModules:!0,watch:!0,placeholder:"Enjoy Markdown! coding now...",gotoLine:!0,codeFold:!1,autoHeight:!1,autoFocus:!0,autoCloseTags:!0,searchReplace:!0,syncScrolling:!0,readOnly:!1,tabSize:4,indentUnit:4,lineNumbers:!0,lineWrapping:!0,autoCloseBrackets:!0,showTrailingSpace:!0,matchBrackets:!0,indentWithTabs:!0,styleSelectedText:!0,matchWordHighlight:!0,styleActiveLine:!0,dialogLockScreen:!0,dialogShowMask:!0,dialogDraggable:!0,dialogMaskBgColor:"#fff",dialogMaskOpacity:.1,fontSize:"13px",saveHTMLToTextarea:!1,disabledKeyMaps:[],onload:function(){},onresize:function(){},onchange:function(){},onwatch:null,onunwatch:null,onpreviewing:function(){},onpreviewed:function(){},onfullscreen:function(){},onfullscreenExit:function(){},onscroll:function(){},onpreviewscroll:function(){},imageUpload:!1,imageFormats:["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL:"",crossDomainUpload:!1,uploadCallbackURL:"",toc:!0,tocm:!1,tocTitle:"",tocDropdown:!1,tocContainer:"",tocStartLevel:1,htmlDecode:!1,pageBreak:!0,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0,toolbar:!0,toolbarAutoFixed:!0,toolbarIcons:"full",toolbarTitles:{},toolbarHandlers:{ucwords:function(){return t.toolbarHandlers.ucwords},lowercase:function(){return t.toolbarHandlers.lowercase}},toolbarCustomIcons:{lowercase:'<a href="javascript:;" title="Lowercase" unselectable="on"><i class="fa" name="lowercase" style="font-size:24px;margin-top: -10px;">a</i></a>',ucwords:'<a href="javascript:;" title="ucwords" unselectable="on"><i class="fa" name="ucwords" style="font-size:20px;margin-top: -3px;">Aa</i></a>'},toolbarIconsClass:{undo:"fa-undo",redo:"fa-repeat",bold:"fa-bold",del:"fa-strikethrough",italic:"fa-italic",quote:"fa-quote-left",uppercase:"fa-font",h1:t.classPrefix+"bold",h2:t.classPrefix+"bold",h3:t.classPrefix+"bold",h4:t.classPrefix+"bold",h5:t.classPrefix+"bold",h6:t.classPrefix+"bold","list-ul":"fa-list-ul","list-ol":"fa-list-ol",hr:"fa-minus",link:"fa-link","reference-link":"fa-anchor",image:"fa-picture-o",code:"fa-code","preformatted-text":"fa-file-code-o","code-block":"fa-file-code-o",table:"fa-table",datetime:"fa-clock-o",emoji:"fa-smile-o","html-entities":"fa-copyright",pagebreak:"fa-newspaper-o","goto-line":"fa-terminal",watch:"fa-eye-slash",unwatch:"fa-eye",preview:"fa-desktop",search:"fa-search",fullscreen:"fa-arrows-alt",clear:"fa-eraser",help:"fa-question-circle",info:"fa-info-circle"},toolbarIconTexts:{},lang:{name:"zh-cn",description:"开源在线Markdown编辑器<br/>Open source online Markdown editor.",tocTitle:"目录",toolbar:{undo:"撤销(Ctrl+Z)",redo:"重做(Ctrl+Y)",bold:"粗体",del:"删除线",italic:"斜体",quote:"引用",ucwords:"将每个单词首字母转成大写",uppercase:"将所选转换成大写",lowercase:"将所选转换成小写",h1:"标题1",h2:"标题2",h3:"标题3",h4:"标题4",h5:"标题5",h6:"标题6","list-ul":"无序列表","list-ol":"有序列表",hr:"横线",link:"链接","reference-link":"引用链接",image:"添加图片",code:"行内代码","preformatted-text":"预格式文本 / 代码块(缩进风格)","code-block":"代码块(多语言风格)",table:"添加表格",datetime:"日期时间",emoji:"Emoji表情","html-entities":"HTML实体字符",pagebreak:"插入分页符","goto-line":"跳转到行",watch:"关闭实时预览",unwatch:"开启实时预览",preview:"全窗口预览HTML(按 Shift + ESC还原)",fullscreen:"全屏(按ESC还原)",clear:"清空",search:"搜索",help:"使用帮助",info:"关于"+t.title},buttons:{enter:"确定",cancel:"取消",close:"关闭"},dialog:{link:{title:"添加链接",url:"链接地址",urlTitle:"链接标题",urlEmpty:"错误:请填写链接地址。"},referenceLink:{title:"添加引用链接",name:"引用名称",url:"链接地址",urlId:"链接ID",urlTitle:"链接标题",nameEmpty:"错误:引用链接的名称不能为空。",idEmpty:"错误:请填写引用链接的ID。",urlEmpty:"错误:请填写引用链接的URL地址。"},image:{title:"添加图片",url:"图片地址",link:"图片链接",alt:"图片描述",uploadButton:"本地上传",imageURLEmpty:"错误:图片地址不能为空。",uploadFileEmpty:"错误:上传的图片不能为空。",formatNotAllowed:"错误:只允许上传图片文件,允许上传的图片文件格式有:"},preformattedText:{title:"添加预格式文本或代码块",emptyAlert:"错误:请填写预格式文本或代码的内容。"},codeBlock:{title:"添加代码块",selectLabel:"代码语言:",selectDefaultText:"请选择代码语言",otherLanguage:"其他语言",unselectedLanguageAlert:"错误:请选择代码所属的语言类型。",codeEmptyAlert:"错误:请填写代码内容。"},htmlEntities:{title:"HTML 实体字符"},help:{title:"使用帮助"}}}},t.classNames={tex:t.classPrefix+"tex"},t.dialogZindex=99999,t.$katex=null,t.$marked=null,t.$CodeMirror=null,t.$prettyPrint=null;var r,n;t.prototype=t.fn={state:{watching:!1,loaded:!1,preview:!1,fullscreen:!1},init:function(r,n){n=n||{},"object"==typeof r&&(n=r);var i=this.classPrefix=t.classPrefix,o=this.settings=e.extend(!0,t.defaults,n);r="object"==typeof r?o.id:r;var a=this.editor=e("#"+r);this.id=r,this.lang=o.lang;var s=this.classNames={textarea:{html:i+"html-textarea",markdown:i+"markdown-textarea"}};o.pluginPath=""===o.pluginPath?o.path+"../plugins/":o.pluginPath,this.state.watching=!!o.watch,a.hasClass("editormd")||a.addClass("editormd"),a.css({width:"number"==typeof o.width?o.width+"px":o.width,height:"number"==typeof o.height?o.height+"px":o.height}),o.autoHeight&&a.css("height","auto");var l=this.markdownTextarea=a.children("textarea");l.length<1&&(a.append("<textarea></textarea>"),l=this.markdownTextarea=a.children("textarea")),l.addClass(s.textarea.markdown).attr("placeholder",o.placeholder),void 0!==l.attr("name")&&""!==l.attr("name")||l.attr("name",""!==o.name?o.name:r+"-markdown-doc");var c=[o.readOnly?"":'<a href="javascript:;" class="fa fa-close '+i+'preview-close-btn"></a>',o.saveHTMLToTextarea?'<textarea class="'+s.textarea.html+'" name="'+r+'-html-code"></textarea>':"",'<div class="'+i+'preview"><div class="markdown-body '+i+'preview-container"></div></div>','<div class="'+i+'container-mask" style="display:block;"></div>','<div class="'+i+'mask"></div>'].join("\n");return a.append(c).addClass(i+"vertical"),""!==o.theme&&a.addClass(i+"theme-"+o.theme),this.mask=a.children("."+i+"mask"),this.containerMask=a.children("."+i+"container-mask"),""!==o.markdown&&l.val(o.markdown),""!==o.appendMarkdown&&l.val(l.val()+o.appendMarkdown),this.htmlTextarea=a.children("."+s.textarea.html),this.preview=a.children("."+i+"preview"),this.previewContainer=this.preview.children("."+i+"preview-container"),""!==o.previewTheme&&this.preview.addClass(i+"preview-theme-"+o.previewTheme),"function"==typeof define&&define.amd&&("undefined"!=typeof katex&&(t.$katex=katex),o.searchReplace&&!o.readOnly&&(t.loadCSS(o.path+"codemirror/addon/dialog/dialog"),t.loadCSS(o.path+"codemirror/addon/search/matchesonscrollbar"))),"function"==typeof define&&define.amd||!o.autoLoadModules?("undefined"!=typeof CodeMirror&&(t.$CodeMirror=CodeMirror),"undefined"!=typeof marked&&(t.$marked=marked),this.setCodeMirror().setToolbar().loadedDisplay()):this.loadQueues(),this},loadQueues:function(){var e=this,r=this.settings,n=r.path,i=function(){if(t.isIE8)return void e.loadedDisplay();r.flowChart||r.sequenceDiagram?t.loadScript(n+"raphael.min",function(){t.loadScript(n+"underscore.min",function(){!r.flowChart&&r.sequenceDiagram?t.loadScript(n+"sequence-diagram.min",function(){e.loadedDisplay()}):r.flowChart&&!r.sequenceDiagram?t.loadScript(n+"flowchart.min",function(){t.loadScript(n+"jquery.flowchart.min",function(){e.loadedDisplay()})}):r.flowChart&&r.sequenceDiagram&&t.loadScript(n+"flowchart.min",function(){t.loadScript(n+"jquery.flowchart.min",function(){t.loadScript(n+"sequence-diagram.min",function(){e.loadedDisplay()})})})})}):e.loadedDisplay()};return t.loadCSS(n+"codemirror/codemirror.min"),r.searchReplace&&!r.readOnly&&(t.loadCSS(n+"codemirror/addon/dialog/dialog"),t.loadCSS(n+"codemirror/addon/search/matchesonscrollbar")),r.codeFold&&t.loadCSS(n+"codemirror/addon/fold/foldgutter"),t.loadScript(n+"codemirror/codemirror.min",function(){t.$CodeMirror=CodeMirror,t.loadScript(n+"codemirror/modes.min",function(){t.loadScript(n+"codemirror/addons.min",function(){if(e.setCodeMirror(),"gfm"!==r.mode&&"markdown"!==r.mode)return e.loadedDisplay(),!1;e.setToolbar(),t.loadScript(n+"marked.min",function(){t.$marked=marked,r.previewCodeHighlight?t.loadScript(n+"prettify.min",function(){i()}):i()})})})}),this},setTheme:function(e){var t=this.editor,r=this.settings.theme,n=this.classPrefix+"theme-";return t.removeClass(n+r).addClass(n+e),this.settings.theme=e,this},setEditorTheme:function(e){var r=this.settings;return r.editorTheme=e,"default"!==e&&t.loadCSS(r.path+"codemirror/theme/"+r.editorTheme),this.cm.setOption("theme",e),this},setCodeMirrorTheme:function(e){return this.setEditorTheme(e),this},setPreviewTheme:function(e){var t=this.preview,r=this.settings.previewTheme,n=this.classPrefix+"preview-theme-";return t.removeClass(n+r).addClass(n+e),this.settings.previewTheme=e,this},setCodeMirror:function(){var e=this.settings,r=this.editor;"default"!==e.editorTheme&&t.loadCSS(e.path+"codemirror/theme/"+e.editorTheme);var n={mode:e.mode,theme:e.editorTheme,tabSize:e.tabSize,dragDrop:!1,autofocus:e.autoFocus,autoCloseTags:e.autoCloseTags,readOnly:!!e.readOnly&&"nocursor",indentUnit:e.indentUnit,lineNumbers:e.lineNumbers,lineWrapping:e.lineWrapping,extraKeys:{"Ctrl-Q":function(e){e.foldCode(e.getCursor())}},foldGutter:e.codeFold,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:e.matchBrackets,indentWithTabs:e.indentWithTabs,styleActiveLine:e.styleActiveLine,styleSelectedText:e.styleSelectedText,autoCloseBrackets:e.autoCloseBrackets,showTrailingSpace:e.showTrailingSpace,highlightSelectionMatches:!!e.matchWordHighlight&&{showToken:"onselected"!==e.matchWordHighlight&&/\w/}};return this.codeEditor=this.cm=t.$CodeMirror.fromTextArea(this.markdownTextarea[0],n),this.codeMirror=this.cmElement=r.children(".CodeMirror"),""!==e.value&&this.cm.setValue(e.value),this.codeMirror.css({fontSize:e.fontSize,width:e.watch?"50%":"100%"}),e.autoHeight&&(this.codeMirror.css("height","auto"),this.cm.setOption("viewportMargin",1/0)),e.lineNumbers||this.codeMirror.find(".CodeMirror-gutters").css("border-right","none"),this},getCodeMirrorOption:function(e){return this.cm.getOption(e)},setCodeMirrorOption:function(e,t){return this.cm.setOption(e,t),this},addKeyMap:function(e,t){return this.cm.addKeyMap(e,t),this},removeKeyMap:function(e){return this.cm.removeKeyMap(e),this},gotoLine:function(t){var r=this.settings;if(!r.gotoLine)return this;var n=this.cm,i=n.lineCount(),o=this.preview;if("string"==typeof t&&("last"===t&&(t=i),"first"===t&&(t=1)),"number"!=typeof t)return alert("Error: The line number must be an integer."),this;if((t=parseInt(t)-1)>i)return alert("Error: The line number range 1-"+i),this;n.setCursor({line:t,ch:0});var a=n.getScrollInfo(),s=a.clientHeight,l=n.charCoords({line:t,ch:0},"local");if(n.scrollTo(null,(l.top+l.bottom-s)/2),r.watch){var c=this.codeMirror.find(".CodeMirror-scroll")[0],u=e(c).height(),d=c.scrollTop,m=d/c.scrollHeight;0===d?o.scrollTop(0):d+u>=c.scrollHeight-16?o.scrollTop(o[0].scrollHeight):o.scrollTop(o[0].scrollHeight*m)}return n.focus(),this},extend:function(){return void 0!==arguments[1]&&("function"==typeof arguments[1]&&(arguments[1]=e.proxy(arguments[1],this)),this[arguments[0]]=arguments[1]),"object"==typeof arguments[0]&&void 0===arguments[0].length&&e.extend(!0,this,arguments[0]),this},set:function(t,r){return void 0!==r&&"function"==typeof r&&(r=e.proxy(r,this)),this[t]=r,this},config:function(t,r){var n=this.settings;return"object"==typeof t&&(n=e.extend(!0,n,t)),"string"==typeof t&&(n[t]=r),this.settings=n,this.recreate(),this},on:function(t,r){var n=this.settings;return void 0!==n["on"+t]&&(n["on"+t]=e.proxy(r,this)),this},off:function(e){var t=this.settings;return void 0!==t["on"+e]&&(t["on"+e]=function(){}),this},showToolbar:function(t){var r=this.settings;return r.readOnly?this:(r.toolbar&&(this.toolbar.length<1||""===this.toolbar.find("."+this.classPrefix+"menu").html())&&this.setToolbar(),r.toolbar=!0,this.toolbar.show(),this.resize(),e.proxy(t||function(){},this)(),this)},hideToolbar:function(t){return this.settings.toolbar=!1,this.toolbar.hide(),this.resize(),e.proxy(t||function(){},this)(),this},setToolbarAutoFixed:function(t){var r=this.state,n=this.editor,i=this.toolbar,o=this.settings;void 0!==t&&(o.toolbarAutoFixed=t);var a=function(){var t=e(window),r=t.scrollTop();if(!o.toolbarAutoFixed)return!1;r-n.offset().top>10&&r<n.height()?i.css({position:"fixed",width:n.width()+"px",left:(t.width()-n.width())/2+"px"}):i.css({position:"absolute",width:"100%",left:0})};return!r.fullscreen&&!r.preview&&o.toolbar&&o.toolbarAutoFixed&&e(window).bind("scroll",a),this},setToolbar:function(){var e=this.settings;if(e.readOnly)return this;var r=this.editor,n=this.classPrefix,i=this.toolbar=r.children("."+n+"toolbar");if(e.toolbar&&i.length<1){var o='<div class="'+n+'toolbar"><div class="'+n+'toolbar-container"><ul class="'+n+'menu"></ul></div></div>';r.append(o),i=this.toolbar=r.children("."+n+"toolbar")}if(!e.toolbar)return i.hide(),this;i.show();for(var a="function"==typeof e.toolbarIcons?e.toolbarIcons():"string"==typeof e.toolbarIcons?t.toolbarModes[e.toolbarIcons]:e.toolbarIcons,s=i.find("."+this.classPrefix+"menu"),l="",c=!1,u=0,d=a.length;u<d;u++){var m=a[u];if("||"===m)c=!0;else if("|"===m)l+='<li class="divider" unselectable="on">|</li>';else{var f=/h(\d)/.test(m),p=m;"watch"!==m||e.watch||(p="unwatch");var h=e.lang.toolbar[p],g=e.toolbarIconTexts[p],b=e.toolbarIconsClass[p];h=void 0===h?"":h,g=void 0===g?"":g,b=void 0===b?"":b;var v=c?'<li class="pull-right">':"<li>";void 0!==e.toolbarCustomIcons[m]&&"function"!=typeof e.toolbarCustomIcons[m]?v+=e.toolbarCustomIcons[m]:(v+='<a href="javascript:;" title="'+h+'" unselectable="on">',v+='<i class="fa '+b+'" name="'+m+'" unselectable="on">'+(f?m.toUpperCase():""===b?g:"")+"</i>",v+="</a>"),v+="</li>",l=c?v+l:l+v}}return s.html(l),s.find('[title="Lowercase"]').attr("title",e.lang.toolbar.lowercase),s.find('[title="ucwords"]').attr("title",e.lang.toolbar.ucwords),this.setToolbarHandler(),this.setToolbarAutoFixed(),this},dialogLockScreen:function(){return e.proxy(t.dialogLockScreen,this)(),this},dialogShowMask:function(r){return e.proxy(t.dialogShowMask,this)(r),this},getToolbarHandles:function(e){var r=this.toolbarHandlers=t.toolbarHandlers;return e&&void 0!==r[e]?r[e]:r},setToolbarHandler:function(){var r=this,n=this.settings;if(!n.toolbar||n.readOnly)return this;var i=this.toolbar,o=this.cm,a=this.classPrefix,s=this.toolbarIcons=i.find("."+a+"menu > li > a"),l=this.getToolbarHandles();return s.bind(t.mouseOrTouch("click","touchend"),function(){var t=e(this).children(".fa"),i=t.attr("name"),a=o.getCursor(),s=o.getSelection();if(""!==i)return r.activeIcon=t,void 0!==l[i]?e.proxy(l[i],r)(o):void 0!==n.toolbarHandlers[i]&&e.proxy(n.toolbarHandlers[i],r)(o,t,a,s),"link"!==i&&"reference-link"!==i&&"image"!==i&&"code-block"!==i&&"preformatted-text"!==i&&"watch"!==i&&"preview"!==i&&"search"!==i&&"fullscreen"!==i&&"info"!==i&&o.focus(),!1}),this},createDialog:function(r){return e.proxy(t.createDialog,this)(r)},createInfoDialog:function(){var e=this,r=this.editor,n=this.classPrefix,i=['<div class="'+n+"dialog "+n+'dialog-info" style="">','<div class="'+n+'dialog-container">','<h1><i class="editormd-logo editormd-logo-lg editormd-logo-color"></i> '+t.title+"<small>v"+t.version+"</small></h1>","<p>"+this.lang.description+"</p>",'<p style="margin: 10px 0 20px 0;"><a href="'+t.homePage+'" target="_blank">'+t.homePage+' <i class="fa fa-external-link"></i></a></p>','<p style="font-size: 0.85em;">Copyright © 2015 <a href="https://github.com/pandao" target="_blank" class="hover-link">Pandao</a>, The <a href="https://github.com/pandao/editor.md/blob/master/LICENSE" target="_blank" class="hover-link">MIT</a> License.</p>',"</div>",'<a href="javascript:;" class="fa fa-close '+n+'dialog-close"></a>',"</div>"].join("\n");r.append(i);var o=this.infoDialog=r.children("."+n+"dialog-info");return o.find("."+n+"dialog-close").bind(t.mouseOrTouch("click","touchend"),function(){e.hideInfoDialog()}),o.css("border",t.isIE8?"1px solid #ddd":"").css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},infoDialogPosition:function(){var t=this.infoDialog,r=function(){t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"})};return r(),e(window).resize(r),this},showInfoDialog:function(){e("html,body").css("overflow-x","hidden");var r=this.editor,n=this.settings,i=this.infoDialog=r.children("."+this.classPrefix+"dialog-info");return i.length<1&&this.createInfoDialog(),this.lockScreen(!0),this.mask.css({opacity:n.dialogMaskOpacity,backgroundColor:n.dialogMaskBgColor}).show(),i.css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},hideInfoDialog:function(){return e("html,body").css("overflow-x",""),this.infoDialog.hide(),this.mask.hide(),this.lockScreen(!1),this},lockScreen:function(e){return t.lockScreen(e),this.resize(),this},recreate:function(){var e=this.editor,t=this.settings;return this.codeMirror.remove(),this.setCodeMirror(),t.readOnly||(e.find(".editormd-dialog").length>0&&e.find(".editormd-dialog").remove(),t.toolbar&&(this.getToolbarHandles(),this.setToolbar())),this.loadedDisplay(!0),this},previewCodeHighlight:function(){var e=this.settings,t=this.previewContainer;return e.previewCodeHighlight&&(t.find("pre").addClass("prettyprint linenums"),"undefined"!=typeof prettyPrint&&prettyPrint()),this},katexRender:function(){return null===r?this:(this.previewContainer.find("."+t.classNames.tex).each(function(){var r=e(this);t.$katex.render(r.text(),r[0]),r.find(".katex").css("font-size","1.6em")}),this)},flowChartAndSequenceDiagramRender:function(){var r=this,i=this.settings,o=this.previewContainer;if(t.isIE8)return this;if(i.flowChart){if(null===n)return this;o.find(".flowchart").flowChart()}i.sequenceDiagram&&o.find(".sequence-diagram").sequenceDiagram({theme:"simple"});var a=r.preview,s=r.codeMirror,l=s.find(".CodeMirror-scroll"),c=l.height(),u=l.scrollTop(),d=u/l[0].scrollHeight,m=0;a.find(".markdown-toc-list").each(function(){m+=e(this).height()});var f=a.find(".editormd-toc-menu").height();return f=f||0,0===u?a.scrollTop(0):u+c>=l[0].scrollHeight-16?a.scrollTop(a[0].scrollHeight):a.scrollTop((a[0].scrollHeight+m+f)*d),this},registerKeyMaps:function(r){var n=this,i=this.cm,o=this.settings,a=t.toolbarHandlers,s=o.disabledKeyMaps;if(r=r||null){for(var l in r)if(e.inArray(l,s)<0){var c={};c[l]=r[l],i.addKeyMap(r)}}else{for(var u in t.keyMaps){var d=t.keyMaps[u],m="string"==typeof d?e.proxy(a[d],n):e.proxy(d,n);if(e.inArray(u,["F9","F10","F11"])<0&&e.inArray(u,s)<0){var f={};f[u]=m,i.addKeyMap(f)}}e(window).keydown(function(t){var r={120:"F9",121:"F10",122:"F11"};if(e.inArray(r[t.keyCode],s)<0)switch(t.keyCode){case 120:return e.proxy(a.watch,n)(),!1;case 121:return e.proxy(a.preview,n)(),!1;case 122:return e.proxy(a.fullscreen,n)(),!1}})}return this},bindScrollEvent:function(){var r=this,n=this.preview,i=this.settings,o=this.codeMirror,a=t.mouseOrTouch;if(!i.syncScrolling)return this;var s=function(){o.find(".CodeMirror-scroll").bind(a("scroll","touchmove"),function(t){var o=e(this).height(),a=e(this).scrollTop(),s=a/e(this)[0].scrollHeight,l=0;n.find(".markdown-toc-list").each(function(){l+=e(this).height()});var c=n.find(".editormd-toc-menu").height();c=c||0,0===a?n.scrollTop(0):a+o>=e(this)[0].scrollHeight-16?n.scrollTop(n[0].scrollHeight):n.scrollTop((n[0].scrollHeight+l+c)*s),e.proxy(i.onscroll,r)(t)})},l=function(){o.find(".CodeMirror-scroll").unbind(a("scroll","touchmove"))},c=function(){n.bind(a("scroll","touchmove"),function(t){var n=e(this).height(),a=e(this).scrollTop(),s=a/e(this)[0].scrollHeight,l=o.find(".CodeMirror-scroll");0===a?l.scrollTop(0):a+n>=e(this)[0].scrollHeight?l.scrollTop(l[0].scrollHeight):l.scrollTop(l[0].scrollHeight*s),e.proxy(i.onpreviewscroll,r)(t)})},u=function(){n.unbind(a("scroll","touchmove"))};return o.bind({mouseover:s,mouseout:l,touchstart:s,touchend:l}),"single"===i.syncScrolling?this:(n.bind({mouseover:c,mouseout:u,touchstart:c,touchend:u}),this)},bindChangeEvent:function(){var e=this,t=this.cm,n=this.settings;return n.syncScrolling?(t.on("change",function(){n.watch&&e.previewContainer.css("padding",n.autoHeight?"20px 20px 50px 40px":"20px"),r=setTimeout(function(){clearTimeout(r),e.save(),r=null},n.delay)}),this):this},loadedDisplay:function(t){t=t||!1;var r=this,n=this.editor,i=this.preview,o=this.settings;return this.containerMask.hide(),this.save(),o.watch&&i.show(),n.data("oldWidth",n.width()).data("oldHeight",n.height()),this.resize(),this.registerKeyMaps(),e(window).resize(function(){r.resize()}),this.bindScrollEvent().bindChangeEvent(),t||e.proxy(o.onload,this)(),this.state.loaded=!0,this},width:function(e){return this.editor.css("width","number"==typeof e?e+"px":e),this.resize(),this},height:function(e){return this.editor.css("height","number"==typeof e?e+"px":e),this.resize(),this},resize:function(t,r){t=t||null,r=r||null;var n=this.state,i=this.editor,o=this.preview,a=this.toolbar,s=this.settings,l=this.codeMirror;if(t&&i.css("width","number"==typeof t?t+"px":t),!s.autoHeight||n.fullscreen||n.preview?(r&&i.css("height","number"==typeof r?r+"px":r),n.fullscreen&&i.height(e(window).height()),s.toolbar&&!s.readOnly?l.css("margin-top",a.height()+1).height(i.height()-a.height()):l.css("margin-top",0).height(i.height())):(i.css("height","auto"),l.css("height","auto")),s.watch)if(l.width(i.width()/2),o.width(n.preview?i.width():i.width()/2),this.previewContainer.css("padding",s.autoHeight?"20px 20px 50px 40px":"20px"),s.toolbar&&!s.readOnly?o.css("top",a.height()+1):o.css("top",0),!s.autoHeight||n.fullscreen||n.preview){var c=s.toolbar&&!s.readOnly?i.height()-a.height():i.height();o.height(c)}else o.height("");else l.width(i.width()),o.hide();return n.loaded&&e.proxy(s.onresize,this)(),this},save:function(){if(null===r)return this;var i=this,o=this.state,a=this.settings,s=this.cm,l=s.getValue(),c=this.previewContainer;if("gfm"!==a.mode&&"markdown"!==a.mode)return this.markdownTextarea.val(l),this;var u=t.$marked,d=this.markdownToC=[],m=this.markedRendererOptions={toc:a.toc,tocm:a.tocm,tocStartLevel:a.tocStartLevel,pageBreak:a.pageBreak,taskList:a.taskList,emoji:a.emoji,tex:a.tex,atLink:a.atLink,emailLink:a.emailLink,flowChart:a.flowChart,sequenceDiagram:a.sequenceDiagram,previewCodeHighlight:a.previewCodeHighlight},f=this.markedOptions={renderer:t.markedRenderer(d,m),gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:!a.htmlDecode,smartLists:!0,smartypants:!0};u.setOptions(f);var p=t.$marked(l,f);if(p=t.filterHTMLTags(p,a.htmlDecode),this.markdownTextarea.text(l),s.save(),a.saveHTMLToTextarea&&this.htmlTextarea.text(p),a.watch||!a.watch&&o.preview){if(c.html(p),this.previewCodeHighlight(),a.toc){var h=""===a.tocContainer?c:e(a.tocContainer),g=h.find("."+this.classPrefix+"toc-menu");h.attr("previewContainer",""===a.tocContainer?"true":"false"),""!==a.tocContainer&&g.length>0&&g.remove(),t.markdownToCRenderer(d,h,a.tocDropdown,a.tocStartLevel),(a.tocDropdown||h.find("."+this.classPrefix+"toc-menu").length>0)&&t.tocDropdownMenu(h,""!==a.tocTitle?a.tocTitle:this.lang.tocTitle),""!==a.tocContainer&&c.find(".markdown-toc").css("border","none")}a.tex&&(!t.kaTeXLoaded&&a.autoLoadModules?t.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,i.katexRender()}):(t.$katex=katex,this.katexRender())),(a.flowChart||a.sequenceDiagram)&&(n=setTimeout(function(){clearTimeout(n),i.flowChartAndSequenceDiagramRender(),n=null},10)),o.loaded&&e.proxy(a.onchange,this)()}return this},focus:function(){return this.cm.focus(),this},setCursor:function(e){return this.cm.setCursor(e),this},getCursor:function(){return this.cm.getCursor()},setSelection:function(e,t){return this.cm.setSelection(e,t),this},getSelection:function(){return this.cm.getSelection()},setSelections:function(e){return this.cm.setSelections(e),this},getSelections:function(){return this.cm.getSelections()},replaceSelection:function(e){return this.cm.replaceSelection(e),this},insertValue:function(e){return this.replaceSelection(e),this},appendMarkdown:function(e){var t=this.cm;return t.setValue(t.getValue()+e),this},setMarkdown:function(e){return this.cm.setValue(e||this.settings.markdown),this},getMarkdown:function(){return this.cm.getValue()},getValue:function(){return this.cm.getValue()},setValue:function(e){return this.cm.setValue(e),this},clear:function(){return this.cm.setValue(""),this},getHTML:function(){return this.settings.saveHTMLToTextarea?this.htmlTextarea.val():(alert("Error: settings.saveHTMLToTextarea == false"),!1)},getTextareaSavedHTML:function(){return this.getHTML()},getPreviewedHTML:function(){return this.settings.watch?this.previewContainer.html():(alert("Error: settings.watch == false"),!1)},watch:function(t){var n=this.settings;if(e.inArray(n.mode,["gfm","markdown"])<0)return this;if(this.state.watching=n.watch=!0,this.preview.show(),this.toolbar){var i=n.toolbarIconsClass.watch,o=n.toolbarIconsClass.unwatch,a=this.toolbar.find(".fa[name=watch]");a.parent().attr("title",n.lang.toolbar.watch),a.removeClass(o).addClass(i)}return this.codeMirror.css("border-right","1px solid #ddd").width(this.editor.width()/2),r=0,this.save().resize(),n.onwatch||(n.onwatch=t||function(){}),e.proxy(n.onwatch,this)(),this},unwatch:function(t){var r=this.settings;if(this.state.watching=r.watch=!1,this.preview.hide(),this.toolbar){var n=r.toolbarIconsClass.watch,i=r.toolbarIconsClass.unwatch,o=this.toolbar.find(".fa[name=watch]");o.parent().attr("title",r.lang.toolbar.unwatch),o.removeClass(n).addClass(i)}return this.codeMirror.css("border-right","none").width(this.editor.width()),this.resize(),r.onunwatch||(r.onunwatch=t||function(){}),e.proxy(r.onunwatch,this)(),this},show:function(t){t=t||function(){};var r=this;return this.editor.show(0,function(){e.proxy(t,r)()}),this},hide:function(t){t=t||function(){};var r=this;return this.editor.hide(0,function(){e.proxy(t,r)()}),this},previewing:function(){var r=this,n=this.editor,i=this.preview,o=this.toolbar,a=this.settings,s=this.codeMirror,l=this.previewContainer;if(e.inArray(a.mode,["gfm","markdown"])<0)return this;a.toolbar&&o&&(o.toggle(),o.find(".fa[name=preview]").toggleClass("active")),s.toggle();var c=function(e){e.shiftKey&&27===e.keyCode&&r.previewed()};"none"===s.css("display")?(this.state.preview=!0,this.state.fullscreen&&i.css("background","#fff"),n.find("."+this.classPrefix+"preview-close-btn").show().bind(t.mouseOrTouch("click","touchend"),function(){r.previewed()}),a.watch?l.css("padding",""):this.save(),l.addClass(this.classPrefix+"preview-active"),i.show().css({position:"",top:0,width:n.width(),height:a.autoHeight&&!this.state.fullscreen?"auto":n.height()}),this.state.loaded&&e.proxy(a.onpreviewing,this)(),e(window).bind("keyup",c)):(e(window).unbind("keyup",c),this.previewed())},previewed:function(){var r=this.editor,n=this.preview,i=this.toolbar,o=this.settings,a=this.previewContainer,s=r.find("."+this.classPrefix+"preview-close-btn");return this.state.preview=!1,this.codeMirror.show(),o.toolbar&&i.show(),n[o.watch?"show":"hide"](),s.hide().unbind(t.mouseOrTouch("click","touchend")),a.removeClass(this.classPrefix+"preview-active"),o.watch&&a.css("padding","20px"),n.css({background:null,position:"absolute",width:r.width()/2,height:o.autoHeight&&!this.state.fullscreen?"auto":r.height()-i.height(),top:o.toolbar?i.height():0}),this.state.loaded&&e.proxy(o.onpreviewed,this)(),this},fullscreen:function(){var t=this,r=this.state,n=this.editor,i=this.toolbar,o=this.settings,a=this.classPrefix+"fullscreen";i&&i.find(".fa[name=fullscreen]").parent().toggleClass("active");var s=function(e){e.shiftKey||27!==e.keyCode||r.fullscreen&&t.fullscreenExit()};return n.hasClass(a)?(e(window).unbind("keyup",s),this.fullscreenExit()):(r.fullscreen=!0,e("html,body").css("overflow","hidden"),n.css({width:e(window).width(),height:e(window).height()}).addClass(a),this.resize(),e.proxy(o.onfullscreen,this)(),e(window).bind("keyup",s)),this},fullscreenExit:function(){var t=this.editor,r=this.settings,n=this.toolbar,i=this.classPrefix+"fullscreen";return this.state.fullscreen=!1,n&&n.find(".fa[name=fullscreen]").parent().removeClass("active"),e("html,body").css("overflow",""),t.css({width:t.data("oldWidth"),height:t.data("oldHeight")}).removeClass(i),this.resize(),e.proxy(r.onfullscreenExit,this)(),this},executePlugin:function(r,n){var i=this,o=this.cm;return n=this.settings.pluginPath+n,"function"==typeof define?void 0===this[r]?(alert("Error: "+r+" plugin is not found, you are not load this plugin."),this):(this[r](o),this):(e.inArray(n,t.loadFiles.plugin)<0?t.loadPlugin(n,function(){t.loadPlugins[r]=i[r],i[r](o)}):e.proxy(t.loadPlugins[r],this)(o),this)},search:function(e){var t=this.settings;return t.searchReplace?(t.readOnly||this.cm.execCommand(e||"find"),this):(alert("Error: settings.searchReplace == false"),this)},searchReplace:function(){return this.search("replace"),this},searchReplaceAll:function(){return this.search("replaceAll"),this}},t.fn.init.prototype=t.fn,t.dialogLockScreen=function(){(this.settings||{dialogLockScreen:!0}).dialogLockScreen&&(e("html,body").css("overflow","hidden"),this.resize())},t.dialogShowMask=function(t){var r=this.editor,n=this.settings||{dialogShowMask:!0};t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"}),n.dialogShowMask&&r.children("."+this.classPrefix+"mask").css("z-index",parseInt(t.css("z-index"))-1).show()},t.toolbarHandlers={undo:function(){this.cm.undo()},redo:function(){this.cm.redo()},bold:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection("**"+r+"**"),""===r&&e.setCursor(t.line,t.ch+2)},del:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection("~~"+r+"~~"),""===r&&e.setCursor(t.line,t.ch+2)},italic:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection("*"+r+"*"),""===r&&e.setCursor(t.line,t.ch+1)},quote:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("> "+r),e.setCursor(t.line,t.ch+2)):e.replaceSelection("> "+r)},ucfirst:function(){var e=this.cm,r=e.getSelection(),n=e.listSelections();e.replaceSelection(t.firstUpperCase(r)),e.setSelections(n)},ucwords:function(){var e=this.cm,r=e.getSelection(),n=e.listSelections();e.replaceSelection(t.wordsFirstUpperCase(r)),e.setSelections(n)},uppercase:function(){var e=this.cm,t=e.getSelection(),r=e.listSelections();e.replaceSelection(t.toUpperCase()),e.setSelections(r)},lowercase:function(){var e=this.cm,t=e.getSelection(),r=e.listSelections();e.replaceSelection(t.toLowerCase()),e.setSelections(r)},h1:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("# "+r),e.setCursor(t.line,t.ch+2)):e.replaceSelection("# "+r)},h2:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("## "+r),e.setCursor(t.line,t.ch+3)):e.replaceSelection("## "+r)},h3:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("### "+r),e.setCursor(t.line,t.ch+4)):e.replaceSelection("### "+r)},h4:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("#### "+r),e.setCursor(t.line,t.ch+5)):e.replaceSelection("#### "+r)},h5:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("##### "+r),e.setCursor(t.line,t.ch+6)):e.replaceSelection("##### "+r)},h6:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();0!==t.ch?(e.setCursor(t.line,0),e.replaceSelection("###### "+r),e.setCursor(t.line,t.ch+7)):e.replaceSelection("###### "+r)},"list-ul":function(){var e=this.cm,t=e.getSelection();if(""===t)e.replaceSelection("- "+t);else{for(var r=t.split("\n"),n=0,i=r.length;n<i;n++)r[n]=""===r[n]?"":"- "+r[n];e.replaceSelection(r.join("\n"))}},"list-ol":function(){var e=this.cm,t=e.getSelection();if(""===t)e.replaceSelection("1. "+t);else{for(var r=t.split("\n"),n=0,i=r.length;n<i;n++)r[n]=""===r[n]?"":n+1+". "+r[n];e.replaceSelection(r.join("\n"))}},hr:function(){var e=this.cm,t=e.getCursor();e.replaceSelection((0!==t.ch?"\n\n":"\n")+"------------\n\n")},tex:function(){if(!this.settings.tex)return alert("settings.tex === false"),this;var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection("$$"+r+"$$"),""===r&&e.setCursor(t.line,t.ch+2)},link:function(){this.executePlugin("linkDialog","link-dialog/link-dialog")},"reference-link":function(){this.executePlugin("referenceLinkDialog","reference-link-dialog/reference-link-dialog")},pagebreak:function(){if(!this.settings.pageBreak)return alert("settings.pageBreak === false"),this;this.cm.replaceSelection("\r\n[========]\r\n")},image:function(){this.executePlugin("imageDialog","image-dialog/image-dialog")},code:function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection("`"+r+"`"),""===r&&e.setCursor(t.line,t.ch+1)},"code-block":function(){this.executePlugin("codeBlockDialog","code-block-dialog/code-block-dialog")},"preformatted-text":function(){this.executePlugin("preformattedTextDialog","preformatted-text-dialog/preformatted-text-dialog")},table:function(){this.executePlugin("tableDialog","table-dialog/table-dialog")},datetime:function(){var e=this.cm,r=this.settings.lang.name,n=t.dateFormat()+" "+t.dateFormat("zh-cn"===r||"zh-tw"===r?"cn-week-day":"week-day");e.replaceSelection(n)},emoji:function(){this.executePlugin("emojiDialog","emoji-dialog/emoji-dialog")},"html-entities":function(){this.executePlugin("htmlEntitiesDialog","html-entities-dialog/html-entities-dialog")},"goto-line":function(){this.executePlugin("gotoLineDialog","goto-line-dialog/goto-line-dialog")},watch:function(){this[this.settings.watch?"unwatch":"watch"]()},preview:function(){this.previewing()},fullscreen:function(){this.fullscreen()},clear:function(){this.clear()},search:function(){this.search()},help:function(){this.executePlugin("helpDialog","help-dialog/help-dialog")},info:function(){this.showInfoDialog()}};var i=navigator.platform.toUpperCase().indexOf("MAC")>=0,o=i?"Cmd":"Ctrl";t.keyMaps={},t.keyMaps[o+"-1"]="h1",t.keyMaps[o+"-2"]="h2",t.keyMaps[o+"-3"]="h3",t.keyMaps[o+"-4"]="h4",t.keyMaps[o+"-5"]="h5",t.keyMaps[o+"-6"]="h6",t.keyMaps[o+"-B"]="bold",t.keyMaps[o+"-D"]="datetime",t.keyMaps[o+"Ctrl-E"]=function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();if(!this.settings.emoji)return void alert("Error: settings.emoji == false");e.replaceSelection(":"+r+":"),""===r&&e.setCursor(t.line,t.ch+1)},t.keyMaps[o+"-Alt-G"]="goto-line",t.keyMaps[o+"-H"]="hr",t.keyMaps[o+"-I"]="italic",t.keyMaps[o+"-K"]="code",t.keyMaps["Ctrl-L"]=function(){var e=this.cm,t=e.getCursor(),r=e.getSelection(),n=""===r?"":' "'+r+'"';e.replaceSelection("["+r+"]("+n+")"),""===r&&e.setCursor(t.line,t.ch+1)},t.keyMaps[o+"-U"]="list-ul",t.keyMaps["Shift-Ctrl-A"]=function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();if(!this.settings.atLink)return void alert("Error: settings.atLink == false");e.replaceSelection("@"+r),""===r&&e.setCursor(t.line,t.ch+1)},t.keyMaps["Shift"+o+"-C"]="code",t.keyMaps["Shift"+o+"Q"]="quote",t.keyMaps["Shift"+o+"S"]="del",t.keyMaps["Shift"+o+"K"]="tex",t.keyMaps["Shift-Alt-C"]=function(){var e=this.cm,t=e.getCursor(),r=e.getSelection();e.replaceSelection(["```",r,"```"].join("\n")),""===r&&e.setCursor(t.line,t.ch+3)},t.keyMaps["Shift-"+o+"-Alt-C"]="code-block",t.keyMaps["Shift-"+o+"-H"]="html-entities",t.keyMaps["Shift-Alt-H"]="help",t.keyMaps["Shift-"+o+"-E"]="emoji",t.keyMaps["Shift-"+o+"-U"]="uppercase",t.keyMaps["Shift-Alt-U"]="ucwords",t.keyMaps["Shift-"+o+"-Alt-U"]="ucfirst",t.keyMaps["Shift-Alt-L"]="lowercase",t.keyMaps["Shift-"+o+"-I"]=function(){var e=this.cm,t=e.getCursor(),r=e.getSelection(),n=""===r?"":' "'+r+'"';e.replaceSelection(""),""===r&&e.setCursor(t.line,t.ch+4)},t.keyMaps["Shift-"+o+"-Alt-I"]="image",t.keyMaps["Shift-"+o+"-L"]="link",t.keyMaps["Shift-"+o+"-O"]="list-ol",t.keyMaps["Shift-"+o+"-P"]="preformatted-text",t.keyMaps["Shift-"+o+"-T"]="table",t.keyMaps["Shift-Alt-P"]="pagebreak",t.keyMaps.F9="watch",t.keyMaps.F10="preview",t.keyMaps.F11="fullscreen";var a=function(e){return String.prototype.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};t.trim=a;var s=function(e){return e.toLowerCase().replace(/\b(\w)|\s(\w)/g,function(e){return e.toUpperCase()})};t.ucwords=t.wordsFirstUpperCase=s;var l=function(e){return e.toLowerCase().replace(/\b(\w)/,function(e){return e.toUpperCase()})};return t.firstUpperCase=t.ucfirst=l,t.urls={atLinkBase:"https://github.com/"},t.regexs={atLink:/@(\w+)/g,email:/(\w+)@(\w+)\.(\w+)\.?(\w+)?/g,emailLink:/(mailto:)?([\w\.\_]+)@(\w+)\.(\w+)\.?(\w+)?/g,emoji:/:([\w\+-]+):/g,emojiDatetime:/(\d{1,2}:\d{1,2}:\d{1,2})/g,twemoji:/:(tw-([\w]+)-?(\w+)?):/g,fontAwesome:/:(fa-([\w]+)(-(\w+)){0,}):/g,editormdLogo:/:(editormd-logo-?(\w+)?):/g,pageBreak:/^\[[=]{8,}\]$/},t.emoji={path:"http://www.emoji-cheat-sheet.com/graphics/emojis/",ext:".png"},t.twemoji={path:"http://twemoji.maxcdn.com/36x36/",ext:".png"},t.markedRenderer=function(r,n){var i={toc:!0,tocm:!1,tocStartLevel:1,pageBreak:!0,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1},o=e.extend(i,n||{}),s=t.$marked,l=new s.Renderer;r=r||[];var c=t.regexs,u=c.atLink,d=c.emoji,m=c.email,f=c.emailLink,p=c.twemoji,h=c.fontAwesome,g=c.editormdLogo,b=c.pageBreak;return l.emoji=function(e){e=e.replace(t.regexs.emojiDatetime,function(e){return e.replace(/:/g,":")});var r=e.match(d);if(!r||!o.emoji)return e;for(var n=function(e){var r=e.match(h),n=e.replace(/:/g,"");if(r)for(var i=0,o=r.length;i<o;i++){var a=r[i].replace(/:/g,"");return'<i class="fa '+a+' fa-emoji" title="'+a.replace("fa-","")+'"></i>'}else{var s=e.match(g),l=e.match(p);if(s)for(var c=0,u=s.length;c<u;c++){var d=s[c].replace(/:/g,"");return'<i class="'+d+'" title="Editor.md logo ('+d+')"></i>'}else{if(!l){var m="+1"===n?"plus1":n;return m="black_large_square"===m?"black_square":m,m="moon"===m?"waxing_gibbous_moon":m,'<img src="'+t.emoji.path+m+t.emoji.ext+'" class="emoji" title=":'+n+':" alt=":'+n+':" />'}for(var f=0,b=l.length;f<b;f++){var v=l[f].replace(/:/g,"").replace("tw-","");return'<img src="'+t.twemoji.path+v+t.twemoji.ext+'" title="twemoji-'+v+'" alt="twemoji-'+v+'" class="emoji twemoji" />'}}}},i=0,a=r.length;i<a;i++)":+1:"===r[i]&&(r[i]=":\\+1:"),e=e.replace(new RegExp(r[i]),n);return e},l.atLink=function(r){return u.test(r)?(o.atLink&&(r=r.replace(m,function(e){return e.replace(/@/g,"_#_@_#_")}),r=r.replace(u,function(e,r){return'<a href="'+t.urls.atLinkBase+r+'" title="@'+r+'" class="at-link">'+e+"</a>"}).replace(/_#_@_#_/g,"@")),o.emailLink&&(r=r.replace(f,function(t,r,n,i,o){return!r&&e.inArray(o,"jpg|jpeg|png|gif|webp|ico|icon|pdf".split("|"))<0?'<a href="mailto:'+t+'">'+t+"</a>":t})),r):r},l.link=function(e,t,r){if(this.options.sanitize){var n;try{n=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===n.indexOf("javascript:"))return""}var i='<a href="'+e+'"';return u.test(t)||u.test(r)?(t&&(i+=' title="'+t.replace(/@/g,"@")),i+'">'+r.replace(/@/g,"@")+"</a>"):(t&&(i+=' title="'+t+'"'),i+=">"+r+"</a>")},l.heading=function(e,t){var n=e,i=/\s*<a\s*href="(.*)"\s*([^>]*)>(.*)<\/a>\s*/;if(i.test(e)){var o=[];e=e.split(/<a\s*([^>]+)>([^>]*)<\/a>/);for(var s=0,l=e.length;s<l;s++)o.push(e[s].replace(/\s*href="(.*)"\s*/g,""));e=o.join(" ")}e=a(e);var c=e.toLowerCase().replace(/[^\w]+/g,"-"),u={text:e,level:t,slug:c},d=/^[\u4e00-\u9fa5]+$/.test(e),m=d?escape(e).replace(/%/g,""):e.toLowerCase().replace(/[^\w]+/g,"-");r.push(u);var f="<h"+t+' id="h'+t+"-"+this.options.headerPrefix+m+'">';return f+='<a name="'+e+'" class="reference-link"></a>',f+='<span class="header-link octicon octicon-link"></span>',f+=i?this.atLink(this.emoji(n)):this.atLink(this.emoji(e)),f+="</h"+t+">"},l.pageBreak=function(e){return b.test(e)&&o.pageBreak&&(e='<hr style="page-break-after:always;" class="page-break editormd-page-break" />'),e},l.paragraph=function(e){var r=/\$\$(.*)\$\$/g.test(e),n=/^\$\$(.*)\$\$$/.test(e),i=n?' class="'+t.classNames.tex+'"':"",a=o.tocm?/^(\[TOC\]|\[TOCM\])$/.test(e):/^\[TOC\]$/.test(e),s=/^\[TOCM\]$/.test(e);e=!n&&r?e.replace(/(\$\$([^$]*)\$\$)+/g,function(e,r){return'<span class="'+t.classNames.tex+'">'+r.replace(/\$/g,"")+"</span>"}):n?e.replace(/\$/g,""):e;var l='<div class="markdown-toc editormd-markdown-toc">'+e+"</div>";return a?s?'<div class="editormd-toc-menu">'+l+"</div><br/>":l:b.test(e)?this.pageBreak(e):"<p"+i+">"+this.atLink(this.emoji(e))+"</p>\n"},l.code=function(e,r){return"seq"===r||"sequence"===r?'<div class="sequence-diagram">'+e+"</div>":"flow"===r?'<div class="flowchart">'+e+"</div>":"math"===r||"latex"===r||"katex"===r?'<p class="'+t.classNames.tex+'">'+e+"</p>":s.Renderer.prototype.code.apply(this,arguments)},l.tablecell=function(e,t){var r=t.header?"th":"td";return(t.align?"<"+r+' style="text-align:'+t.align+'">':"<"+r+">")+this.atLink(this.emoji(e))+"</"+r+">\n"},l.listitem=function(e){return o.taskList&&/^\s*\[[x\s]\]\s*/.test(e)?(e=e.replace(/^\s*\[\s\]\s*/,'<input type="checkbox" class="task-list-item-checkbox" /> ').replace(/^\s*\[x\]\s*/,'<input type="checkbox" class="task-list-item-checkbox" checked disabled /> '),'<li style="list-style: none;">'+this.atLink(this.emoji(e))+"</li>"):"<li>"+this.atLink(this.emoji(e))+"</li>"},l},t.markdownToCRenderer=function(e,t,r,n){var i="",o=0,a=this.classPrefix;n=n||1;for(var s=0,l=e.length;s<l;s++){var c=e[s].text,u=e[s].level;u<n||(i+=u>o?"":u<o?new Array(o-u+2).join("</ul></li>"):"</ul></li>",i+='<li><a class="toc-level-'+u+'" href="#'+c+'" level="'+u+'">'+c+"</a><ul>",o=u)}var d=t.find(".markdown-toc");if(d.length<1&&"false"===t.attr("previewContainer")){var m='<div class="markdown-toc '+a+'markdown-toc"></div>';m=r?'<div class="'+a+'toc-menu">'+m+"</div>":m,t.html(m),d=t.find(".markdown-toc")}return r&&d.wrap('<div class="'+a+'toc-menu"></div><br/>'),d.html('<ul class="markdown-toc-list"></ul>').children(".markdown-toc-list").html(i.replace(/\r?\n?<ul><\/ul>/g,"")),d},t.tocDropdownMenu=function(t,r){r=r||"Table of Contents";var n=400,i=t.find("."+this.classPrefix+"toc-menu");return i.each(function(){var t=e(this),i=t.children(".markdown-toc"),o='<i class="fa fa-angle-down"></i>',a='<a href="javascript:;" class="toc-menu-btn">'+o+r+"</a>",s=i.children("ul"),l=s.find("li");i.append(a),l.first().before("<li><h1>"+r+" "+o+"</h1></li>"),t.mouseover(function(){s.show(),l.each(function(){var t=e(this),r=t.children("ul");if(""===r.html()&&r.remove(),r.length>0&&""!==r.html()){var i=t.children("a").first();i.children(".fa").length<1&&i.append(e(o).css({float:"right",paddingTop:"4px"}))}t.mouseover(function(){r.css("z-index",n).show(),n+=1}).mouseleave(function(){r.hide()})})}).mouseleave(function(){s.hide()})}),i},t.filterHTMLTags=function(t,r){if("string"!=typeof t&&(t=String(t)),"string"!=typeof r)return t;for(var n=r.split("|"),i=n[0].split(","),o=n[1],a=0,s=i.length;a<s;a++){var l=i[a];t=t.replace(new RegExp("<s*"+l+"s*([^>]*)>([^>]*)<s*/"+l+"s*>","igm"),"")}if(void 0!==o){var c=/<(\w+)\s*([^>]*)>([^>]*)<\/(\w+)>/gi;t="*"===o?t.replace(c,function(e,t,r,n,i){return"<"+t+">"+n+"</"+i+">"}):"on*"===o?t.replace(c,function(t,r,n,i,o){var a=e("<"+r+">"+i+"</"+o+">"),s=e(t)[0].attributes,l={};e.each(s,function(e,t){'"'!==t.nodeName&&(l[t.nodeName]=t.nodeValue)}),e.each(l,function(e){0===e.indexOf("on")&&delete l[e]}),a.attr(l);var c=void 0!==a[1]?e(a[1]).text():"";return a[0].outerHTML+c}):t.replace(c,function(t,r,n,i){var a=o.split(","),s=e(t);return s.html(i),e.each(a,function(e){s.attr(a[e],null)}),s[0].outerHTML})}return t},t.markdownToHTML=function(r,n){var i={gfm:!0,toc:!0,tocm:!1,tocStartLevel:1,tocTitle:"目录",tocDropdown:!1,tocContainer:"",markdown:"",markdownSourceCode:!1,htmlDecode:!1,autoLoadKaTeX:!0,pageBreak:!0,atLink:!0,emailLink:!0,tex:!1,taskList:!1,emoji:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0};t.$marked=marked;var o=e("#"+r),a=o.settings=e.extend(!0,i,n||{}),s=o.find("textarea");s.length<1&&(o.append("<textarea></textarea>"),s=o.find("textarea"));var l=""===a.markdown?s.val():a.markdown,c=[],u={toc:a.toc,tocm:a.tocm,tocStartLevel:a.tocStartLevel,taskList:a.taskList,emoji:a.emoji,tex:a.tex,pageBreak:a.pageBreak,atLink:a.atLink,emailLink:a.emailLink,flowChart:a.flowChart,sequenceDiagram:a.sequenceDiagram,previewCodeHighlight:a.previewCodeHighlight},d={renderer:t.markedRenderer(c,u),gfm:a.gfm,tables:!0,breaks:!0,pedantic:!1,sanitize:!a.htmlDecode,smartLists:!0,smartypants:!0};l=String(l);var m=marked(l,d);m=t.filterHTMLTags(m,a.htmlDecode),a.markdownSourceCode?s.text(l):s.remove(),o.addClass("markdown-body "+this.classPrefix+"html-preview").append(m);var f=""!==a.tocContainer?e(a.tocContainer):o;if(""!==a.tocContainer&&f.attr("previewContainer",!1),a.toc&&(o.tocContainer=this.markdownToCRenderer(c,f,a.tocDropdown,a.tocStartLevel),(a.tocDropdown||o.find("."+this.classPrefix+"toc-menu").length>0)&&this.tocDropdownMenu(o,a.tocTitle),""!==a.tocContainer&&o.find(".editormd-toc-menu, .editormd-markdown-toc").remove()),a.previewCodeHighlight&&(o.find("pre").addClass("prettyprint linenums"),prettyPrint()),t.isIE8||(a.flowChart&&o.find(".flowchart").flowChart(),a.sequenceDiagram&&o.find(".sequence-diagram").sequenceDiagram({theme:"simple"})),a.tex){var p=function(){o.find("."+t.classNames.tex).each(function(){var t=e(this);katex.render(t.html().replace(/</g,"<").replace(/>/g,">"),t[0]),t.find(".katex").css("font-size","1.6em")})};!a.autoLoadKaTeX||t.$katex||t.kaTeXLoaded?p():this.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,p()})}return o.getMarkdown=function(){return s.val()},o},t.themes=["default","dark"],t.previewThemes=["default","dark"],t.editorThemes=["default","3024-day","3024-night","ambiance","ambiance-mobile","base16-dark","base16-light","blackboard","cobalt","eclipse","elegant","erlang-dark","lesser-dark","mbo","mdn-like","midnight","monokai","neat","neo","night","paraiso-dark","paraiso-light","pastel-on-dark","rubyblue","solarized","the-matrix","tomorrow-night-eighties","twilight","vibrant-ink","xq-dark","xq-light"],t.loadPlugins={},t.loadFiles={js:[],css:[],plugin:[]},t.loadPlugin=function(e,r,n){r=r||function(){},this.loadScript(e,function(){t.loadFiles.plugin.push(e),r()},n)},t.loadCSS=function(e,r,n){n=n||"head",r=r||function(){};var i=document.createElement("link");i.type="text/css",i.rel="stylesheet",i.onload=i.onreadystatechange=function(){t.loadFiles.css.push(e),r()},i.href=e+".css","head"===n?document.getElementsByTagName("head")[0].appendChild(i):document.body.appendChild(i)},t.isIE="Microsoft Internet Explorer"===navigator.appName,t.isIE8=t.isIE&&navigator.appVersion.match(/^8\./i),t.loadScript=function(e,r,n){n=n||"head",r=r||function(){};var i=null;i=document.createElement("script"),i.id=e.replace(/[\.\/]+/g,"-"),i.type="text/javascript",i.src=e+".js",t.isIE8?i.onreadystatechange=function(){i.readyState&&("loaded"!==i.readyState&&"complete"!==i.readyState||(i.onreadystatechange=null,t.loadFiles.js.push(e),r()))}:i.onload=function(){t.loadFiles.js.push(e),r()},"head"===n?document.getElementsByTagName("head")[0].appendChild(i):document.body.appendChild(i)},t.katexURL={css:"//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.3.0/katex.min",js:"//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.3.0/katex.min"},t.kaTeXLoaded=!1,t.loadKaTeX=function(e){t.loadCSS(t.katexURL.css,function(){t.loadScript(t.katexURL.js,e||function(){})})},t.lockScreen=function(t){e("html,body").css("overflow",t?"hidden":"")},t.createDialog=function(r){var n={name:"",width:420,height:240,title:"",drag:!0,closed:!0,content:"",mask:!0,maskStyle:{backgroundColor:"#fff",opacity:.1},lockScreen:!0,footer:!0,buttons:!1};r=e.extend(!0,n,r);var i=this,o=this.editor,a=t.classPrefix,s=(new Date).getTime(),l=""===r.name?a+"dialog-"+s:r.name,c=t.mouseOrTouch,u='<div class="'+a+"dialog "+l+'">';""!==r.title&&(u+='<div class="'+a+'dialog-header"'+(r.drag?' style="cursor: move;"':"")+">",u+='<strong class="'+a+'dialog-title">'+r.title+"</strong>",u+="</div>"),r.closed&&(u+='<a href="javascript:;" class="fa fa-close '+a+'dialog-close"></a>'),u+='<div class="'+a+'dialog-container">'+r.content,(r.footer||"string"==typeof r.footer)&&(u+='<div class="'+a+'dialog-footer">'+("boolean"==typeof r.footer?"":r.footer)+"</div>"),u+="</div>",u+='<div class="'+a+"dialog-mask "+a+'dialog-mask-bg"></div>',u+='<div class="'+a+"dialog-mask "+a+'dialog-mask-con"></div>',u+="</div>",o.append(u);var d=o.find("."+l);d.lockScreen=function(t){return r.lockScreen&&(e("html,body").css("overflow",t?"hidden":""),i.resize()),d},d.showMask=function(){return r.mask&&o.find("."+a+"mask").css(r.maskStyle).css("z-index",t.dialogZindex-1).show(),d},d.hideMask=function(){return r.mask&&o.find("."+a+"mask").hide(),d},d.loading=function(e){return d.find("."+a+"dialog-mask")[e?"show":"hide"](),d},d.lockScreen(!0).showMask(),d.show().css({zIndex:t.dialogZindex,border:t.isIE8?"1px solid #ddd":"",width:"number"==typeof r.width?r.width+"px":r.width,height:"number"==typeof r.height?r.height+"px":r.height});var m=function(){d.css({top:(e(window).height()-d.height())/2+"px",left:(e(window).width()-d.width())/2+"px"})};if(m(),e(window).resize(m),d.children("."+a+"dialog-close").bind(c("click","touchend"),function(){d.hide().lockScreen(!1).hideMask()}),"object"==typeof r.buttons){var f=d.footer=d.find("."+a+"dialog-footer");for(var p in r.buttons){var h=r.buttons[p],g=a+p+"-btn";f.append('<button class="'+a+"btn "+g+'">'+h[0]+"</button>"),h[1]=e.proxy(h[1],d),f.children("."+g).bind(c("click","touchend"),h[1])}}if(""!==r.title&&r.drag){var b,v,y=d.children("."+a+"dialog-header");r.mask||y.bind(c("click","touchend"),function(){t.dialogZindex+=2,d.css("z-index",t.dialogZindex)});var x=function(e){e.removeClass(a+"user-unselect").off("selectstart")},k=function(e){e.addClass(a+"user-unselect").on("selectstart",function(){return!1})},w=function(t){t=t||window.event;var r,n,i=parseInt(d[0].style.left),o=parseInt(d[0].style.top);i>=0?i+d.width()<=e(window).width()?r=t.clientX-b:(r=e(window).width()-d.width(),document.onmousemove=null):(r=0,document.onmousemove=null),o>=0?n=t.clientY-v:(n=0,document.onmousemove=null),document.onselectstart=function(){return!1},k(e("body")),k(d),d[0].style.left=r+"px",d[0].style.top=n+"px"};y.mousedown(function(e){e=e||window.event,b=e.clientX-parseInt(d[0].style.left),v=e.clientY-parseInt(d[0].style.top),document.onmousemove=w}),document.onmouseup=function(){x(e("body")),x(d),document.onselectstart=null,document.onmousemove=null},y.touchDraggable=function(){var t=null,r=function(r){var n=r.originalEvent,i=e(this).parent().position();t={x:n.changedTouches[0].pageX-i.left,y:n.changedTouches[0].pageY-i.top}},n=function(r){r.preventDefault();var n=r.originalEvent;e(this).parent().css({top:n.changedTouches[0].pageY-t.y,left:n.changedTouches[0].pageX-t.x})};this.bind("touchstart",r).bind("touchmove",n)},y.touchDraggable()}return t.dialogZindex+=2,d},t.mouseOrTouch=function(e,t){e=e||"click",t=t||"touchend";var r=e;try{document.createEvent("TouchEvent"),r=t}catch(e){}return r},t.dateFormat=function(e){e=e||"";var t=function(e){return e<10?"0"+e:e},r=new Date,n=r.getFullYear(),i=n.toString().slice(2,4),o=t(r.getMonth()+1),a=t(r.getDate()),s=r.getDay(),l=t(r.getHours()),c=t(r.getMinutes()),u=t(r.getSeconds()),d=t(r.getMilliseconds()),m="",f=i+"-"+o+"-"+a,p=n+"-"+o+"-"+a,h=l+":"+c+":"+u;switch(e){case"UNIX Time":m=r.getTime();break;case"UTC":m=r.toUTCString();break;case"yy":m=i;break;case"year":case"yyyy":m=n;break;case"month":case"mm":m=o;break;case"cn-week-day":case"cn-wd":m="星期"+["日","一","二","三","四","五","六"][s];break;case"week-day":case"wd":m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][s];break;case"day":case"dd":m=a;break;case"hour":case"hh":m=l;break;case"min":case"ii":m=c;break;case"second":case"ss":m=u;break;case"ms":m=d;break;case"yy-mm-dd":m=f;break;case"yyyy-mm-dd":m=p;break;case"yyyy-mm-dd h:i:s ms":case"full + ms":m=p+" "+h+" "+d;break;default:m=p+" "+h}return m},t}});