markdown格式wiki文档

editor.php 8.2KB

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>markdown编辑器</title> <link href="/static/css/markdown.css" rel="stylesheet" /> <script src="/static/js/jquery.min.js"></script> <script src="/static/js/ace.js"></script> <script src="/static/js/marked.js"></script> <script src="/static/js/showPanel.js"></script> <style type="text/css"> * { margin: 0; padding: 0; outline: none; border-radius: 0; } html, body { width: 100%; height: 100%; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: #ebebeb; } #bar { height: 130px; width: 100%; color: #fff; } #bar #topbar { height: 40px; background-color: #337AB7; width: 100%; color: #fff; line-height: 50px; } #bar #czbar { height: 50px; background-color: #FFFFFF; width: 100%; color: #fff; line-height: 50px; } #bar #toolbar { height: 40px; background-color: #337AB7; width: 100%; color: #fff; line-height: 50px; } #container { overflow: auto; position: absolute; bottom: 0; left: 0; right: 0; top: 130px; } #editor-column, #preview-column { width: 49.5%; height: 100%; overflow: auto; position: relative; background-color: #F6F6F6; } .pull-left { float: left; } .pull-right { float: right; } #toolbar img { width: 25px; height: 25px; padding-top: 8px; padding-bottom: 7px; margin-left: 10px; } #toolbar img:hover { background: #EBEBEB; cursor: pointer; } #commit { color: #FFFFFF; padding: 5px 15px; background: #BE1A21; border: 0px none #FFECEC; } #commit:hover { cursor: pointer; background: #CB474D; } #dialog{ position: fixed; height: 400px; width: 550px; background: #FFFFFF; z-index: 5; left: 30%; border: 1px solid gray; top: 25%; display: none; } #showImg{ height: 160px; width: 160px; position: absolute; border: 0.5px solid gainsboro; bottom: 80px; left:35%; } #cancel{ border: 0px none #FFECEC; background: #999999; color: #FFFFFF; padding: 5px 15px; position: absolute; top: 8px; right: 100px; } #cancel:hover{ background: #AAAAAA; } #insert{ border: 0px none #FFECEC; background: #BE1A21; color: #FFFFFF; padding: 5px 15px; position: absolute; top: 8px; right: 30px; } #insert:hover{ background: #CB474D; } #upload{ border: 0px none #FFECEC; background: #999999; color: #FFFFFF; padding: 7px 30px; position: absolute; top: 67px; right: 40px; } #upload:hover{ background: #AAAAAA; } #filediv{ width: 70%; height: 30px; top: 70px; left: 20px; position: absolute; } #file{ width: 95%; height: 30px; position: relative; top: -27px; opacity: 0.000001; cursor: pointer; } </style> <script> $(function(){ $('#dialog').hide(); }) </script> </head> <body> <div id='bar'> <div id="topbar"> </div> <div id="czbar"> <input style="font-size: 26px;width: 80%;padding-left: 10px;border: 0px none #FFFFFF;padding-top: 5px;" type="text" value="文章标题" placeholder="文章标题" /> <select id="group"> <option value="volvo">android</option> <option value="saab">算法</option> <option value="opel">java思想</option> <option value="audi">web</option> </select> <button id="commit">发表博客</button> </div> <div id="toolbar"> <img src="/static/img/bold.png" id="bold" onclick="insertText('**这里填写要加粗的文字**')"/> <img src="/static/img/italic.png" id="italic" onclick="insertText('_这里填写要斜体的文字_')"/> <img src="/static/img/hyperlink.png" id="hyperlink" onclick="insertText('[这里写连接的描述](这里填写连接地址)')"/> <img src="/static/img/code.png" id="code" onclick="insertText('```\n这里插入代码\n```')"/> <img src="/static/img/image.png" id="image" onclick="showDialog()"/> </div> </div> <div id='container'> <div id='editor-column' class='pull-left'> <div id='panel-editor' style="height: 100%;"> <!--编辑区--> <div class="editor-content" id="mdeditor" style="height: 100%;"></div> </div> </div> <div id='preview-column' class='pull-right'> <div id='panel-preview'> <!--显示区--> <div id="preview" class="markdown-body"></div> </div> </div> <div id="dialog"> <div style="position: absolute;height: 40px;width: 100%;background: #FFFFFF;border-bottom: 1px solid gray;"> <span style="position: absolute;left: 10px;top: 10px;color: gray;">插入图片</span> <img src="img/X.png" style="height: 25px;width: 25px;position: absolute;right: 10px;top: 10px;cursor: pointer;" onclick="f_cancel()"/> </div> <div> <div id="filediv"> <span style="background: gray;color: #FFFFFF;padding: 6px 10px;">选择图片</span> <input type="text" id="fileName" style="height: 25px;width: 70%;"/> <input type="file" id="file" name="file" onchange="setFile()"/> </div> <button id="upload" onclick="uploadFile()">上传</button> </div> <img id="showImg"/> <div style="position: absolute;bottom: 1px;width: 100%;height: 40px;border-top: 1px solid gray;"> <button id="cancel" onclick="f_cancel()">取消</button> <button id="insert" onclick="insert()">插入</button> </div> </div> <script> var imgUrl='';//上传图片返回的url var acen_edit = ace.edit('mdeditor');//左侧编辑框 acen_edit.setTheme('ace/theme/chrome'); acen_edit.getSession().setMode('ace/mode/markdown'); acen_edit.renderer.setShowPrintMargin(false); $("#mdeditor").keyup(function() {//给左侧编辑框添加事件,,当键盘抬起时,右侧实时显示左侧的md内容 $("#preview").html(marked(acen_edit.getValue())); }); function f_commit() { console.log($('#group').val()); } //DownPanel是我自己写的一个提示,当鼠标移到该dom上,回显示相关提示 $('#bold').DownPanel({ render: '<span style="color:#ffffff;">加粗</span>', background: '#000000', top: ($('#bold').offset().top + 40), left: ($('#bold').offset().left) }); $('#code').DownPanel({ render: '<span style="color:#ffffff;">插入代码</span>', background: '#000000', top: ($('#code').offset().top + 40), left: ($('#code').offset().left) }); $('#hyperlink').DownPanel({ render: '<span style="color:#ffffff;">插入超链接</span>', background: '#000000', top: ($('#hyperlink').offset().top + 40), left: ($('#hyperlink').offset().left) }); $('#image').DownPanel({ render: '<span style="color:#ffffff;">插入图片</span>', background: '#000000', top: ($('#image').offset().top + 40), left: ($('#image').offset().left) }); $('#italic').DownPanel({ render: '<span style="color:#ffffff;">斜体</span>', background: '#000000', top: ($('#italic').offset().top + 40), left: ($('#italic').offset().left) }); //左侧插入,用户插入一些特定方法 function insertText(val) { acen_edit.insert(val); //光标位置插入 } //选择图片后,用于显示图片路径 function setFile(){ $('#fileName').val($('#file').val()); } //上传图片到服务器,返回图片地址 function uploadFile(){ imgUrl='https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white.png'; $('#showImg').attr('src','https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white.png'); } //插入图片弹窗取消 function f_cancel(){ $('#dialog').hide(); } //插入图片 function insert(){ $('#dialog').hide(); insertText('![这里写图片描述]('+imgUrl+')') } //显示弹窗 function showDialog(){ $('#dialog').show(); } </script> </body> </html>