markdown格式wiki文档

index.bak.php 14KB

    <html lang="zh-cn"> <head> <link rel="stylesheet" href="/static/css/bootstrap.min.css"> <link rel="stylesheet" href="/static/css/index.css"> <script src="/static/js/jquery.min.js"></script> <script src="/static/js/bootstrap.min.js"></script> <script src="/static/js/axios.min.js"></script> <!-- <script src="https://cdn.bootcss.com/axios/0.17.1/axios.min.js"></script> --> <!-- <link href="/static/css/markdown.css" rel="stylesheet" /> --> <script src="/static/ace/ace.js"></script> <script src="/static/ace/mode-markdown.js"></script> <script src="/static/ace/theme-chrome.js"></script> <!-- <script src="/static/js/marked.js"></script> --> <!-- <script src="/static/js/showPanel.js"></script> --> <!-- <link rel="stylesheet" href="/static/codemirror-5.31.0/lib/codemirror.css"/> --> <!-- <script src="/static/codemirror-5.31.0/lib/codemirror.js"></script> --> <!--引入css文件,用以支持主题--> <!-- <link rel="stylesheet" href="/static/codemirror-5.31.0/theme/solarized.css"/> --> <!-- <script src="/static/codemirror-5.31.0/mode/markdown/markdown.js"></script> --> <link rel="stylesheet" href="/static/highlight/styles/solarized-light.css"> <script src="/static/highlight/highlight.pack.js"></script> <title>MarkDown-Wiki: <?php echo $doc;?> </title> </head> <body> <header> <span class="logo"> <a href="/index">HUWIKI</a> </span> <!-- Button trigger modal --> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" onclick="edit()"> <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> 编辑 </button> <span> <!-- <img src="../static/img/header_color.png" alt="调色板" data-status="0" onclick="changeColor(this);"> --> </span> <span> <ul class="select_header_color" style="display: none;"> <li style="background-color: aquamarine;"><a href="javascript: doChange('aquamarine');">aquamarine</a></li> <li style="background-color: azure;"><a href="javascript: doChange('azure');">azure</a></li> <li style="background-color: beige;"><a href="javascript: doChange('beige');">beige</a></li> <li style="background-color: cyan;"><a href="javascript: doChange('cyan');">cyan</a></li> <li style="background-color: floralwhite;"><a href="javascript: doChange('floralwhite');">floralwhite</a></li> <li style="background-color: gainsboro;"><a href="javascript: doChange('gainsboro');">gainsboro</a></li> <li style="background-color: gold;"><a href="javascript: doChange('gold');">gold</a></li> <li style="background-color: greenyellow;"><a href="javascript: doChange('greenyellow');">greenyellow</a></li> <li style="background-color: hotpink;"><a href="javascript: doChange('hotpink');">hotpink</a></li> <li style="background-color: ivory;"><a href="javascript: doChange('ivory');">ivory</a></li> <li style="background-color: khaki;"><a href="javascript: doChange('khaki');">khaki</a></li> <li style="background-color: lightgrey;"><a href="javascript: doChange('lightgrey');">lightgrey</a></li> <li style="background-color: lime;"><a href="javascript: doChange('lime');">lime</a></li> <li style="background-color: linen;"><a href="javascript: doChange('linen');">linen</a></li> <li style="background-color: mistyrose;"><a href="javascript: doChange('mistyrose');">mistyrose</a></li> <li style="background-color: navajowhite;"><a href="javascript: doChange('navajowhite');">navajowhite</a></li> <li style="background-color: oldlace;"><a href="javascript: doChange('oldlace');">oldlace</a></li> <li style="background-color: orangered;"><a href="javascript: doChange('orangered');">orangered</a></li> <li style="background-color: orchid;"><a href="javascript: doChange('orchid');">orchid</a></li> <li style="background-color: palegreen;"><a href="javascript: doChange('palegreen');">palegreen</a></li> <li style="background-color: papayawhip;"><a href="javascript: doChange('papayawhip');">papayawhip</a></li> <li style="background-color: peachpuff;"><a href="javascript: doChange('peachpuff');">peachpuff</a></li> <li style="background-color: thistle;"><a href="javascript: doChange('thistle');">thistle</a></li> <li style="background-color: wheat;"><a href="javascript: doChange('wheat');">wheat</a></li> <li style="background-color: white;"><a href="javascript: doChange('white');">white</a></li> </ul> </span> </header> <aside> <div class="nav" style="z-index: 99;"> <span>位置: <a href="/index">index</a></span> <?php $dir_name = pathinfo($doc, PATHINFO_DIRNAME); $nav = explode('/',$dir_name); $temp = "/index/"; foreach ($nav as $val) { if ($val=='.' || $val == '..') { continue; } else { ?> <span> / <a href="<?php echo $temp.$val.'/index.md';?>"> <?php echo $val;?> </a></span> <?php } $temp .= $val ."/"; } ?> </div> <div class="toc"> <?php echo $toc;?> </div> </aside> <!--article标签中就是我们编写的文本内容--> <article> <div class="top"> </div> <div class="content"> <?php if ($is_file_exists) { echo $content; } else { ?> <div class="is_file_exists"> <span>文档不存在, 点击<a href='javascript:void(0213123);' onclick='edit()'>新建文档</a></span> </div> <?php } ?> </div> </article> <!-- 编辑 Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content modal-edit"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel">编辑</h4> </div> <div class="modal-body"> <div class="editor-content" id="mdeditor" style="height: 70%;"><?php echo $text;?></div> <!-- <textarea class="form-control" rows="20" style="resize:vertical" id="mdeditor" name="mdeditor"><?php echo $text;?></textarea> --> <!-- begin code --> <!-- <textarea class="form-control" id="mdeditor" name="mdeditor"><?php echo $text;?></textarea> --> <!-- end code--> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary" onclick="save('<?php echo $doc;?>')">Save changes</button> </div> </div> </div> </div> <!-- 登录 Modal --> <div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel"> <div class="modal-dialog" role="document" style="margin-top: 200px;"> <div class="modal-content modal-login"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="loginModalLabel">登录</h4> </div> <div class="modal-body"> <div class="form-group"> <label for="username">用户名</label> <input type="text" class="form-control" id="username" placeholder="请输入用户名"> </div> <div class="form-group"> <label for="password">密码</label> <input type="password" class="form-control" id="password" placeholder="请输入密码"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary" onclick="login()">LOGIN</button> </div> </div> </div> </div> <script> $(document).ready(function () { // 表格加上边框 $("table").addClass('table table-bordered'); if (storage.getItem("headerColor")) { var color = storage.getItem("headerColor"); $("header").css('background-color', color); } }); //修改header background-color function changeColor(obj) { // console.log($(obj).data("status")); var status = $(obj).data("status"); if (status == 0) { $(".select_header_color").css("display", "block"); $(obj).data("status", 1); } else { $(".select_header_color").css("display", "none"); $(obj).data("status", 0); } } function doChange(color) { // console.log(color); // var color = $(obj).val(); storage.setItem("headerColor", color); $("header").css("background-color", color); } // 代码高亮 document.addEventListener('DOMContentLoaded', (event) => { document.querySelectorAll('pre code').forEach((block) => { hljs.highlightBlock(block); }); }); // ace 编辑器 var editor = ace.edit('mdeditor');//左侧编辑框 editor.setTheme('ace/theme/chrome'); editor.getSession().setMode('ace/mode/markdown'); editor.renderer.setShowPrintMargin(false); var imgUrl = '';//上传图片返回的url // codemirror // var editor = CodeMirror.fromTextArea(document.getElementById("mdeditor"), { // theme: "solarized", //设置主题 // mode: "markdown", //实现groovy代码高亮 // // mode: "text/x-java", //实现Java代码高亮 // lineNumbers: true, //显示行号 // // lineWrapping: true, //代码折叠 // // foldGutter: true, // // gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], // // matchBrackets: true, //括号匹配 // //readOnly: true, //只读 // }); // textarea // editor = { // getValue() { // return $("#mdeditor").val(); // } // }; var storage = window.sessionStorage function edit() { if (storage == 'undefined') { alert("浏览暂不支持sessionStorage, 无法启用编辑") } else { if (storage.getItem("token")) { $("#myModal").modal('show'); } else { $("#loginModal").modal('show'); } } // console.log(editor.getValue()); // window.location.href="/editor"; } function login() { let username = document.querySelector('#username').value; let password = document.querySelector('#password').value; var params = new URLSearchParams(); params.append('username', username); params.append('password', password); axios.post( '/login', params ).then((res) => { if (res.data.code === 0) { // 本地存储token storage.setItem('token', res.data.token); $("#loginModal").modal('hide'); // 弹出编辑框 $("#myModal").modal('show'); } else { console.log(res.data.msg); } }).catch(function (error) { console.log(error); }); } function save(doc) { var text = editor.getValue(); // console.log(editor.getValue()); // return false; params = { 'doc': doc, 'content': text }; axios({ method: "POST", url: `/save`, data: JSON.stringify(params), headers: { 'token': storage.getItem("token"), 'Content-Type': 'application/json' } }).then(function (res) { if (res.data.code == 0) { // acen_edit.destroy(); // acen_edit.container.remove(); console.log(res.data.msg); alert("保存成功"); $("#myModal").modal('hide'); setTimeout(window.location.reload(), 1500); } else { alert(res.data.msg); } }).catch(function (error) { console.log(error); }); } </script> </body> </html>