Update: 移除amWiki
This commit is contained in:
@@ -1,385 +0,0 @@
|
||||
@charset "utf-8";
|
||||
|
||||
|
||||
/* ---------- markdown custom ---------- */
|
||||
.markdown-body{font-size:16px;}
|
||||
.markdown-body h1{margin-top:50px;font-size:38px;border-bottom:#d5d5d5 1px solid;}
|
||||
.markdown-body h2{margin-top:50px;font-size:32px;border-bottom:#ddd 1px solid;}
|
||||
.markdown-body h3{margin-top:32px;margin-bottom:14px;}
|
||||
.markdown-body h2 + h3{margin-top:24px;}
|
||||
.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-bottom:12px;}
|
||||
.markdown-body .anchor{margin-left:-24px;}
|
||||
.markdown-body blockquote{padding:8px 15px;background-color:#fafafa;}
|
||||
.markdown-body .anchor{padding-top:10px;margin-top:-10px;}
|
||||
.markdown-body .anchor svg{visibility:hidden;width:20px;height:20px;color:#828282;}
|
||||
.markdown-body h3 .anchor{position:relative;top:2px;}
|
||||
.markdown-body h1:hover .anchor svg,.markdown-body h2:hover .anchor svg,.markdown-body h3:hover .anchor svg{visibility:visible;}
|
||||
.markdown-body img:hover{outline:rgba(0,0,0,.05) 1px solid;box-shadow:1px 1px 1px rgba(0,0,0,.1);cursor:pointer;}
|
||||
.markdown-body img[align="center"]{display:block;margin:0 auto;}
|
||||
.markdown-body tbody{word-break:initial;}
|
||||
.markdown-body input[type="checkbox"]{margin-right:5px;vertical-align:middle;cursor:pointer;}
|
||||
.markdown-body input[type="checkbox"]+label{vertical-align:middle;margin-right:7px;cursor:pointer;}
|
||||
.markdown-body pre{position:relative;}
|
||||
.markdown-body pre code{padding-top:0.15em;padding-bottom:0.15em;margin:0 1px;font-size:100%;color:#000;word-wrap:break-word;white-space:pre-wrap;}
|
||||
.markdown-body pre code.hljs{color:#333;}
|
||||
.markdown-body .hljs-string{color:#183691;}
|
||||
.markdown-body .hljs-built_in{color:#0086b3;}
|
||||
.markdown-body code.lang-flow svg{margin-top:-10px;}
|
||||
.markdown-body .lang-off-js-comment{display:none;position:absolute;top:0;right:0;width:27px;height:27px;color:#ccc;text-align:center;line-height:27px;background:#f0f0f0;cursor:pointer}
|
||||
.markdown-body pre:hover .lang-off-js-comment{display:block;}
|
||||
.markdown-body .lang-off-js-comment i{position:absolute;top:0;left:0;width:27px;height:27px;font-size:22px;color:#ddd;text-align:center;line-height:27px;}
|
||||
.markdown-body .lang-off-js-comment:hover{color:#999;background:#ddd;}
|
||||
.markdown-body .lang-off-js-comment:hover i{color:#999;}
|
||||
.markdown-body .lang-off-js-comment.on{display:block;color:#333;background:#ccc;}
|
||||
.markdown-body .lang-off-js-comment.on i{color:#f00;}
|
||||
.markdown-body mark{color:#e61e1e;background:transparent;}
|
||||
|
||||
.markdown-body .copy-code{display:none;position:absolute;top:5px;right:5px;width:27px;height:27px;color:#ccc;text-align:center;line-height:27px;background:#f0f0f0;cursor:pointer;border-radius:5px;}
|
||||
.markdown-body pre:hover .copy-code{display:block;}
|
||||
.markdown-body .copy-code:hover {color:#999;background:#ddd;}
|
||||
/* ---------- base ---------- */
|
||||
html{height:100%;}
|
||||
body{position:relative;height:100%;background:#e7e8eb;}
|
||||
.hidden{display:none !important;}
|
||||
|
||||
/* ---------- header ---------- */
|
||||
.header{width:100%;height:70px;font-family:Microsoft YaHei,STXihei,STHeiti,Verdana,Arial,Helvetica,sans-serif;;background:#fff;border-top:#0373e4 6px solid;border-bottom:#c3c4c6 1px solid;}
|
||||
.header .header-inner{margin:0 30px;}
|
||||
.header .logo{float:left;padding-top:15px;}
|
||||
.header .logo img{float:left;margin-left:5px;max-height:32px;}
|
||||
.header .logo i{float:left;display:block;width:5px;height:5px;margin:16px 0 0 3px;background:#666666;border-radius:50%;}
|
||||
.header .logo b{float:left;max-width:470px;height:32px;padding-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:24px;font-weight:normal;color:#666;}
|
||||
.header .logo span{float:left;padding:0 3px;margin:1px 0 0 2px;font-size:xx-small;color:#fff;background:#bbbbbb;}
|
||||
.header .menu-icon{display:none;}
|
||||
|
||||
/* ---------- container ---------- */
|
||||
.container{position:relative;margin:20px 18px 0;background:url(../images/menubar_bg.png) repeat-y #fff;border:#c3c4c6 1px solid;border-top:#4296eb 2px solid;}
|
||||
|
||||
/* ---------- menu ---------- */
|
||||
.container .nav{position:absolute;left:0px;top:0px;width:250px;height:100%;}
|
||||
/* filter */
|
||||
.menu-filter{box-sizing:content-box;position:absolute;top:0;left:0;z-index:10;width:176px;height:37px;padding-left:35px;border-bottom:1px solid #D9D9D9;}
|
||||
.menu-filter svg{position:absolute;top:12px;left:12px;width:16px;height:16px;color:#4296eb;}
|
||||
.menu-filter input{display:block;box-sizing:content-box;width:140px;height:22px;padding:0 25px 0 2px;margin-top:8px;line-height:20px;font-size:14px;background:none;border:none;border-bottom:#e0e0e0 1px dashed;}
|
||||
.menu-filter input:focus{outline:none;border-bottom:#aaa 1px solid;}
|
||||
.menu-filter:hover input{border-bottom:#aaa 1px solid;}
|
||||
.menu-filter ::-webkit-input-placeholder{color:#ccc;font-size:13px;}
|
||||
.menu-filter :-ms-input-placeholder{color:#ccc;font-size:13px;}
|
||||
.menu-filter :-moz-placeholder{color:#ccc;font-size:13px;}
|
||||
.menu-filter ::-moz-placeholder{color:#ccc;font-size:13px;}
|
||||
.menu-filter ::-ms-clear{display:none !important;width:0;height:0;}
|
||||
.menu-filter i{display:block;box-sizing:content-box;position:absolute;top:0px;right:0px;width:23px;padding:0 10px;font-size:25px;text-align:center;color:#ccc;cursor:pointer;}
|
||||
.menu-filter i:hover{color:#e6660d;}
|
||||
.menu-filter i.off{display:none;}
|
||||
/* search */
|
||||
.menu-search{display:block;position:absolute;top:0;right:1px;z-index:11;width:39px;height:38px;font-style:normal;border-left:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9;cursor:pointer;}
|
||||
.menu-search:hover{background-color:#f4f5f9;}
|
||||
.menu-search svg{position:absolute;top:12px;left:12px;width:16px;height:16px;color:#4296eb;}
|
||||
/* menubar */
|
||||
.menubar{position:relative;z-index:0;width:250px;height:100%;padding-top:38px;font-family:Microsoft YaHei,STXihei,STHeiti,Verdana,Arial,Helvetica,sans-serif;border-right:1px solid #e7e7eb;}
|
||||
.menubar h4,.menubar h5{display:block;position:relative;height:37px;margin:-1px 0 0;padding:0 10px 0 30px;font-size:14px;font-weight:normal;color:#333;line-height:37px;text-shadow:#666 1px 0 0;border:1px solid #D9D9D9;border-width:1px 0;cursor:pointer;}
|
||||
.menubar h4:hover{background-color:#f4f5f9;}
|
||||
.menubar h5.off{display:none;}
|
||||
.menubar h5.on{display:block;}
|
||||
.menubar h4 svg{position:absolute;top:12px;left:12px;width:13px;height:13px;color:#acacac;}
|
||||
.menubar h4.on svg{color:#4296eb;}
|
||||
.menubar h4 a{display:block;height:36px;color:#333;text-decoration:none;}
|
||||
.menubar h4.on a{color:#0373e4;}
|
||||
.menubar h5 svg{position:absolute;top:12px;left:12px;width:13px;height:13px;color:#acacac;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
|
||||
.menubar h5.on svg{color:#4296eb;-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}
|
||||
.menubar ul{display:none;margin:0;padding:0;list-style:none;}
|
||||
.menubar ul li{padding-left:23px;}
|
||||
.menubar .scroller-content > ul > li{padding-left:25px;}
|
||||
.menubar ul li.off{display:none;}
|
||||
.menubar ul li > a,.menubar ul li > strong{display:block;height:30px;padding:0 55px 0 0;font-weight:normal;white-space:nowrap;line-height:30px;font-size:13px;color:#333;text-decoration:none;cursor:pointer;}
|
||||
.menubar ul li > a:after,.menubar ul li > strong:after{display:block;position:absolute;left:0;right:0;height:30px;content:" ";-webkit-transition-duration:.3s;-moz-transition-duration:.3s;-ms-transition-duration:.3s;transition-duration:.3s;}
|
||||
.menubar ul li > a:hover:after,.menubar ul li > strong:hover:after{background:#f5f5f5;-webkit-transition-duration:0s;-moz-transition-duration:0s;-ms-transition-duration:0s;transition-duration:0s;}
|
||||
.menubar ul li > a > span,.menubar ul li strong > span{float:left;position:relative;z-index:1;padding-left:10px;}
|
||||
.menubar ul li > a.on{color:#0373e4;}
|
||||
.menubar ul li > a.on:before{display:block;position:absolute;left:0px;z-index:1;width:2px;height:30px;content:" ";background:#4296eb;}
|
||||
.menubar ul li > a.on:after{background:#f5f5f5;}
|
||||
.menubar ul li > strong.on{text-shadow:#666 1px 0 0;}
|
||||
.menubar ul li > strong:before{position:absolute;z-index:1;width:6px;height:6px;margin:12px 0 0 -12px;background:#acacac;border-radius:50%;content:" ";}
|
||||
.menubar ul li > strong.on:before{background:#4296eb;}
|
||||
.menubar mark{color:red;background:#f5f5f5;}
|
||||
|
||||
/* ---------- scroller ---------- */
|
||||
body[onselectstart]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;user-select:none;}
|
||||
.scroller{height:100%;overflow:hidden;}
|
||||
.scroller .scroller-inner{box-sizing:content-box;width:100%;height:100%;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;}
|
||||
.scroller .scroller-inner.on{overflow-y:scroll;}
|
||||
.scroller .scrollbar{position:absolute;opacity:0;transition-duration:.5s;-moz-user-select:none;-webkit-user-select:none;user-select:none;cursor:pointer;}
|
||||
.scroller:hover .scrollbar{opacity:1;transition-duration:.3s;}
|
||||
.scroller .scrollbar.active{opacity:1;}
|
||||
.scroller .scrollbar.off{opacity:0;}
|
||||
.scroller .scrollbar div{position:relative;transition-duration:.1s;}
|
||||
.scroller .scrollbar i{position:absolute;background:rgba(50,50,50,.25);border-radius:2px;transition-duration:.1s;}
|
||||
.scroller .scrollbar:active{padding:0;}
|
||||
.scroller .scrollbar:active div{background:rgba(50,50,50,.07);}
|
||||
.scroller .scrollbar:active i{border-radius:0;}
|
||||
/* scrollbar-y */
|
||||
.container .nav .scrollbar.scrollbar-y,.container .nav .scrollbar.scrollbar-y:active{padding-top:38px;padding-bottom:10px;}
|
||||
.scroller .scrollbar.scrollbar-y{top:0;right:0;width:10px;height:100%;}
|
||||
.scroller .scrollbar.scrollbar-y div{height:100%;}
|
||||
.scroller .scrollbar.scrollbar-y i{top:0;left:4px;width:3px;height:100%;}
|
||||
.scroller .scrollbar.scrollbar-y:active i{left:0;width:10px;}
|
||||
/* scrollbar-x */
|
||||
.scroller[data-x-rolling="true"] .scroller-inner.on{overflow-x:scroll;}
|
||||
.scroller[data-x-rolling="true"] .scroller-content{display:inline-block;position:relative;padding-bottom:10px;white-space:nowrap;min-width:250px;}
|
||||
.scroller .scrollbar.scrollbar-x{bottom:0;left:0;width:100%;height:10px;padding-right:10px;}
|
||||
.scroller .scrollbar.scrollbar-x div{width:100%;height:100%;}
|
||||
.scroller .scrollbar.scrollbar-x i{bottom:0;top:4px;height:3px;width:100%;}
|
||||
.scroller .scrollbar.scrollbar-x:active i{top:0;height:10px;}
|
||||
|
||||
/* ---------- main ---------- */
|
||||
.main{position:relative;height:100%;margin-left:250px;}
|
||||
.main .markdown-body{padding:45px;}
|
||||
/* footnote */
|
||||
.main .footnote{position:relative;padding-top:35px;border-top:#ddd 1px solid;}
|
||||
.main .footnote i{position:absolute;top:5px;left:10px;font-size:15px;font-style:normal;color:#999;}
|
||||
.main .footnote li:focus{background:#EAFFEA;}
|
||||
.main .footnote svg{display:inline-block;width:14px;height:14px;margin-bottom:-1px;}
|
||||
.main .footnote-none{width:0;height:0;overflow:hidden;}
|
||||
/* sibling */
|
||||
.main-sibling{display:none;width:100%;padding:30px 45px 20px;font-size:14px;border-top:1px solid #e7e7eb;}
|
||||
.main-sibling.on{display:block;}
|
||||
.main-sibling p{position:relative;height:22px;}
|
||||
.main-sibling span{position:absolute;left:0;top:0;}
|
||||
.main-sibling a{display:inline-block;width:100%;height:19px;padding-left:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
||||
.main-sibling a:not([href]){color:#333;}
|
||||
.main-sibling a:not([href]):hover{text-decoration:none;}
|
||||
|
||||
/* ---------- imgsView ---------- */
|
||||
.imgsv{display:none;position:fixed;top:0;left:0;z-index:999999;width:100%;height:100%;}
|
||||
.imgsv-background{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.1);cursor:pointer;}
|
||||
.imgsv-view img{position:absolute;top:48%;left:50%;opacity:0;box-shadow:rgba(0,0,0,.2) 1px 2px 5px;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition-duration:.5s;-moz-transition-duration:.5s;-ms-transition-duration:.5s;transition-duration:.5s;/*cursor:move;*/
|
||||
}
|
||||
.imgsv.on .imgsv-view img{opacity:1;}
|
||||
.imgsv-panel{position:absolute;left:50%;bottom:-50px;padding:0 10px;line-height:50px;list-style:none;white-space:nowrap;background:rgba(255,255,255,.8);border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:rgba(0,0,0,.2) 0 -1px 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition-duration:.5s;-moz-transition-duration:.5s;-ms-transition-duration:.5s;transition-duration:.5s;}
|
||||
.imgsv.on .imgsv-panel{bottom:0px;}
|
||||
.imgsv-panel li{display:inline-block;min-width:50px;padding:0 10px;text-align:center;cursor:pointer;}
|
||||
.imgsv-panel li.off{color:#999;cursor:default;}
|
||||
.imgsv-panel li:hover{background:rgba(225,225,225,1);}
|
||||
.imgsv-panel li.off:hover{background:none;}
|
||||
|
||||
/* ---------- contents ---------- */
|
||||
aside .contents{position:fixed;bottom:137px;right:7px;z-index:9900;height:38px;width:38px;background:#f4f5f9;border:1px solid #ccc;}
|
||||
aside .contents .btn{cursor:pointer;}
|
||||
aside .contents .btn svg{position:absolute;top:7px;left:7px;width:22px;height:22px;color:#aaa;}
|
||||
aside .contents.hover .btn svg,aside .contents.on .btn svg{display:none;}
|
||||
aside .contents .btn span{display:none;padding:12px 0;font-family:Microsoft YaHei,STXihei,STHeiti,Verdana,Arial,Helvetica,sans-serif;line-height:14px;text-align:center;color:#aaa;}
|
||||
aside .contents.hover .btn span,aside .contents.on .btn span{display:block;}
|
||||
aside .contents-list{display:none;position:absolute;right:36px;bottom:-1px;width:270px;max-height:500px;padding:18px;overflow:hidden;overflow-y:scroll;background:#f4f5f9;border:1px solid #ccc;}
|
||||
aside .contents.hover .contents-list,aside .contents.on .contents-list{display:block;}
|
||||
aside .contents-list p{padding-bottom:5px;margin-bottom:8px;border-bottom:#ccc 1px solid;}
|
||||
blockquote.markdown-contents{padding-left:20px;}
|
||||
.markdown-contents ol{padding-left:0;list-style:none;}
|
||||
.markdown-contents ol ol{padding-left:2em;}
|
||||
.markdown-contents ol li>i{font-style:normal;margin-right:4px;color:#4078c0;}
|
||||
|
||||
/* ---------- aside-backTop ---------- */
|
||||
aside .back-top{position:fixed;bottom:100px;right:7px;z-index: 9900;height:38px;width:38px;background:#f4f5f9;border:1px solid #ccc;}
|
||||
aside .back-icon{display:block;position:relative;width:32px;margin:2px auto;}
|
||||
aside .back-icon svg{position:absolute;top:6px;left:5px;width:22px;height:22px;color:#aaa;}
|
||||
aside .back-text{display:none;position:absolute;top:0;left:0;z-index:99;padding:4px;font-family:Microsoft YaHei,STXihei,STHeiti,Verdana,Arial,Helvetica,sans-serif;font-size:11px;text-align:center;letter-spacing:2px;line-height:14px;background-color:#f4f5f9;cursor:pointer;}
|
||||
aside .back-text:hover{text-decoration:none;}
|
||||
aside .back-top:hover .back-icon{border:none;}
|
||||
aside .back-top:hover .back-text{display:block;color:#aaa;}
|
||||
|
||||
/* ---------- footer ---------- */
|
||||
footer{position:absolute;left:0;bottom:0;width:100%;}
|
||||
footer .signature{position:absolute;right:20px;bottom:8px;color:#999;}
|
||||
|
||||
/* ---------- lowBrowser ---------- */
|
||||
#lowBrowser{position:fixed;top:0;left:0;z-index:9999999;width:100%;height:100%;}
|
||||
#lowBrowser div{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";zoom:1;}
|
||||
#lowBrowser p{position:absolute;top:0;left:0;width:100%;text-align:center;}
|
||||
#lowBrowser p span{display:inline-block;padding:0 30px;color:#8a6d3b;line-height:50px;background:#fcf8e3;border:#faebcc 1px solid;}
|
||||
|
||||
/* ---------- response ---------- */
|
||||
@media screen and (max-width:720px){
|
||||
body{min-width:320px;width:100%;}
|
||||
|
||||
/* ---------- markdown custom ---------- */
|
||||
.markdown-body h1:hover .anchor img,.markdown-body h2:hover .anchor img,.markdown-body h3:hover .anchor img{visibility:hidden;}
|
||||
.markdown-body h1:active .anchor img,.markdown-body h2:active .anchor img,.markdown-body h3:active .anchor img{visibility:visible;}
|
||||
.markdown-body pre code{word-wrap:normal;white-space:pre;}
|
||||
|
||||
/* ---------- header ---------- */
|
||||
.header{position:fixed;left:0;top:0;z-index:9999;height:50px;border-top:#0373e4 3px solid;}
|
||||
.header .header-inner{height:50px;}
|
||||
.header .logo{width:100%;padding-top:13px;}
|
||||
.header .logo img{height:18px;}
|
||||
.header .logo i{width:3px;height:3px;margin:9px 0 0 3px;}
|
||||
.header .logo b{max-width:40%;height:auto;padding-left:7px;font-size:14px;background-size:4px 4px;}
|
||||
.header .logo span{margin:-5px 0 0 0;-webkit-transform:scale(0.8);-moz-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);}
|
||||
.header .menu-icon{display:block;position:absolute;right:0;top:0;z-index:1;width:40px;height:47px;}
|
||||
.header .menu-icon svg{position:absolute;top:9px;left:5px;width:28px;height:28px;color:#acacac;}
|
||||
.header .menu-icon.close svg{top:14px;left:10px;width:18px;height:18px;}
|
||||
|
||||
.container{position:relative;margin:50px auto 0;background:#fff;border:none;}
|
||||
|
||||
/* ---------- menu ---------- */
|
||||
.container .nav{display:none;position:fixed;left:0;top:50px;z-index:9999;width:100%;height:100%;padding-bottom:30px;background:rgba(0,0,0,0.92);overflow-y:scroll;}
|
||||
.container .nav.on{display:block;}
|
||||
.menu-filter{width:100%;padding-right:39px;background-color:none;box-sizing:border-box;}
|
||||
.menu-filter input{width:90%;width:-webkit-calc(100% - 39px);width:-moz-calc(100% - 39px);width:-ms-calc(100% - 39px);width:calc(100% - 39px);color:#fff;background:none;border:none;border-bottom:#999 1px dashed;}
|
||||
.menu-filter i{right:50px;padding:2px 0 0 10px;}
|
||||
.menu-search{height:37px;}
|
||||
.menu-search:hover{background-color:transparent;}
|
||||
.menu-search:active{background-color:#f4f5f9;}
|
||||
|
||||
.menubar{width:100%;height:auto;padding-bottom:50px;border-right:none;}
|
||||
.menubar i{border-top:1px solid #999;}
|
||||
.menubar i:hover{background-color:transparent;}
|
||||
.menubar i:active{background-color:#8c8888;}
|
||||
.menubar h4,.menubar h5{color:#f5f5f5;border-top:1px solid #999999;border-bottom:none;cursor:pointer;}
|
||||
.menubar h4,.menubar h5,.menubar ul{max-width:none;}
|
||||
.menubar h4:hover{background-color:#8c8888;}
|
||||
.menubar h4 a{color:#f5f5f5;}
|
||||
.menubar h4.on a{color:#fff;}
|
||||
.menubar ul li a{color:#f5f5f5;}
|
||||
.menubar ul li > a.on{color:#fff;}
|
||||
.menubar ul li > a:hover{color:#fff;}
|
||||
.menubar ul li > a.on:before{width:3px;}
|
||||
.menubar ul li > a.on:after{background:#8c8888;}
|
||||
.menubar ul li > a:hover:after,.menubar ul li > strong:hover:after{background:none;}
|
||||
.menubar ul li > strong{color:#fff;}
|
||||
.menubar ul li > strong:hover{background:none;}
|
||||
.scroller .scroller-inner{overflow-x:scroll;}
|
||||
.scroller[data-x-rolling="true"] .scroller-content{min-width:100%;}
|
||||
.scroller .scrollbar{display:none;}
|
||||
|
||||
.main{width:100%;height:auto;margin-left:0;overflow:visible;box-sizing:border-box;}
|
||||
.main article.markdown-body{padding:25px;}
|
||||
.main article iframe{border:0;}
|
||||
.main .search-results{height:auto !important;}
|
||||
.main-sibling{padding:30px 25px 25px;}
|
||||
.main-sibling p{height:22px;}
|
||||
.main-sibling a{padding-right:20px;}
|
||||
|
||||
/* ---------- contents ---------- */
|
||||
aside .contents{bottom:75px;border-radius:50%;}
|
||||
aside .contents-list{right:40px;width:255px;max-height:310px;}
|
||||
|
||||
/* ---------- backTop ---------- */
|
||||
aside .back-top{border-radius:50%;bottom:32px;}
|
||||
aside .back-top:hover .back-text{display:none;}
|
||||
|
||||
/* ---------- footer ---------- */
|
||||
footer{position:relative;left:0;bottom:0;width:100%;height:0;}
|
||||
footer .signature{position:absolute;right:12px;bottom:6px;color:#ccc;}
|
||||
footer .signature a{color:#aaa;}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ---------- print ---------- */
|
||||
@media print and (color) {
|
||||
*{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
|
||||
}
|
||||
@media print {
|
||||
@page{margin:2cm;size:A4 portrait;}
|
||||
}
|
||||
@media print {
|
||||
|
||||
/* ---------- main ---------- */
|
||||
body{color:black;background:#fff;}
|
||||
.header{display:none;}
|
||||
.container{margin:0 auto;background:none;border:none;}
|
||||
.container .nav{display:none;}
|
||||
.main{margin-left:0;padding:0;font-size:14px;}
|
||||
.main .markdown-body{display:block !important;font-family:Microsoft YaHei,Tahoma;font-weight:300;;}
|
||||
.main h1{padding-top:300px;font-size:32px;text-align:center;font-weight:600;border:none;page-break-after:always;}
|
||||
.main h1 .anchor{display:none;}
|
||||
.main h2{font-size:24px;font-weight:500;border-bottom:#ccc 1px solid;page-break-after:avoid;}
|
||||
.main h3{font-size:18px;font-weight:500;page-break-after:avoid;}
|
||||
.main h4{font-size:16px;font-weight:400;}
|
||||
.main h1:hover .anchor svg,.main h2:hover .anchor svg,.main h3:hover .anchor svg{visibility:hidden;}
|
||||
.main img{max-width:100% !important;page-break-inside:avoid;}
|
||||
.main table th{font-weight:500;}
|
||||
.main .testing-show{display:none;}
|
||||
.main .testing-box{display:none !important;}
|
||||
.main .markdown-body h2:first-of-type{page-break-before:always;}
|
||||
.main .markdown-body h1 + h2{page-break-before:auto !important;}
|
||||
.main .main-sibling{display:none;}
|
||||
.back-top{display:none;}
|
||||
.signature{display:none;}
|
||||
|
||||
/* ---------- increment ---------- */
|
||||
.main{counter-reset:chapternum1;}
|
||||
h2{counter-reset:chapternum2;}
|
||||
h2:before{counter-increment:chapternum1;content:counter(chapternum1) " ";}
|
||||
h3:before{counter-increment:chapternum2;content:counter(chapternum1) "." counter(chapternum2) " ";}
|
||||
|
||||
}
|
||||
|
||||
@charset "utf-8";
|
||||
|
||||
/* ---------- box ---------- */
|
||||
.search-box *{font-family:Microsoft YaHei,STXihei,STHeiti,Verdana,Arial,Helvetica,sans-serif;}
|
||||
.search-box{display:none;position:absolute;top:0;right:0;z-index:10;width:100%;height:100%;padding:45px;background-color:#fff;}
|
||||
|
||||
/* ---------- search-update ---------- */
|
||||
.search-update{float:right;width:350px;max-width:100%;}
|
||||
.search-update .text{position:relative;width:100%;padding-right:140px;text-align:right;font-size:12px;line-height:20px;}
|
||||
.search-update .text:after{position:absolute;right:122px;top:9px;width:1px;height:24px;background:#ccc;content:' ';}
|
||||
.search-update .text p{margin:0;}
|
||||
.search-update .text time{display:inline-block;white-space:nowrap;}
|
||||
.search-update .text b{margin-right:5px;}
|
||||
.search-update .text span{display:inline-block;margin-left:5px;white-space:nowrap;}
|
||||
.search-update .text i{font-style:normal;}
|
||||
.search-update input{position:relative;z-index:10;float:right;margin-top:6px;padding:4px 12px;}
|
||||
.search-update input[disabled]{padding:5px 13px;color:#ccc;background:#f2f2f2;border:#aaa 1px solid;border-radius:1px;}
|
||||
.search-update.off .text:after,.search-update.off .text span,.search-update.off .text i,.search-update.off input{display:none;}
|
||||
.search-update.off .text b {margin-right:0;}
|
||||
.search-update.off .text{padding-right:5px;}
|
||||
|
||||
.search-box h2{height:65px;color:#666;font-size:24px;font-weight:normal;}
|
||||
|
||||
/* ---------- search-input ---------- */
|
||||
.search-input{position:relative;padding-right:110px;padding-bottom:30px;}
|
||||
.search-input input[type="text"]{display:inline-block;width:100%;padding:10px;font-size:16px;border:#ccc 1px solid;outline:none;}
|
||||
.search-input input[type="text"]:focus{border:#81b9f2 1px solid;box-shadow:#81b9f2 0px 0px 2px;}
|
||||
.search-input input[type="button"]{position:absolute;top:0;right:0;width:106px;height:44px;text-align:center;line-height:38px;font-size:18px;}
|
||||
.search-input input[type="button"][disabled]{color:#ccc;background:#f2f2f2;border:#aaa 1px solid;border-radius:1px;}
|
||||
|
||||
/* ---------- search-results ---------- */
|
||||
.search-results{overflow-y:scroll;background:#eee;border-top:#eee 1px solid;border-bottom:#eee 1px solid;}
|
||||
.search-result-message{display:none;padding-top:50px;text-align:center;color:#777;font-size:22px;line-height:35px;}
|
||||
.search-list{list-style:none;padding:18px 16px 5px;}
|
||||
.search-item{margin-bottom:14px;background:#fff;border:#e6e6e6 1px solid;}
|
||||
.search-item:hover{border:#d9d9d9 1px solid;box-shadow:rgba(0,0,0,.1) 0 0 2px;}
|
||||
.search-item a:hover{text-decoration:none;}
|
||||
.search-item .content{padding:12px 14px 6px;}
|
||||
.search-item .content strong{display:block;padding:2px 0 5px 0;font-size:16px;color:#333;line-height:23px;font-weight:normal;}
|
||||
.search-item .content p{margin:0 0 6px;color:#666;font-size:14px;}
|
||||
.search-item .content p.p1{margin:1px 0 7px;overflow:hidden;line-height:24px;white-space:nowrap;text-overflow:ellipsis;background:#f8f8f8;border-radius:2px;}
|
||||
.search-item .content em{float:left;padding:0 5px;margin:1px 5px 0 1px;line-height:22px;font-style:normal;font-size:12px;color:#fff;background:#ccc;border-top-left-radius:2px;border-bottom-left-radius:2px;}
|
||||
.search-item .content mark{color:red;background:none;}
|
||||
.search-item .bottom{position:relative;padding:0 14px;line-height:30px;color:#999;border-top:#e6e6e6 1px solid;background:#fafafa;}
|
||||
.search-item .bottom p{margin:0;padding-right:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
|
||||
.search-item .bottom .time{position:absolute;top:0;right:14px;}
|
||||
.search-result-more{display:none;margin:0 16px 18px;color:#999;text-align:center;line-height:40px;font-size:16px;letter-spacing:1px;background:#fafafa;border:#e6e6e6 1px solid;cursor:pointer;}
|
||||
.search-result-more:active{padding-top:1px;line-height:39px;}
|
||||
|
||||
/* ---------- search response ---------- */
|
||||
@media screen and (max-width:950px){
|
||||
.search-box h2{clear:both;height:90px;padding-top:30px;}
|
||||
.search-item .bottom p{padding-right:0;line-height:32px;}
|
||||
.search-item .bottom .time{position:static;right:auto;padding-bottom:8px;line-height:16px;}
|
||||
}
|
||||
@media screen and (max-width:375px){
|
||||
.search-box h2{height:100px;padding-top:40px;}
|
||||
.search-update .text{clear:both;padding-right:0;padding-top:10px;}
|
||||
.search-update .text:after{display:none;content:'';}
|
||||
.search-input{padding-right:90px;}
|
||||
.search-input input[type="button"]{width:86px;}
|
||||
}
|
||||
@media screen and (max-width:720px){
|
||||
.search-box{height:auto;min-height:100%;}
|
||||
}
|
||||
9
common/wiki/amWiki/css/default.min.css
vendored
9
common/wiki/amWiki/css/default.min.css
vendored
@@ -1,9 +0,0 @@
|
||||
/*!
|
||||
Theme: Default
|
||||
Description: Original highlight.js style
|
||||
Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
|
||||
Maintainer: @highlightjs/core-team
|
||||
Website: https://highlightjs.org/
|
||||
License: see project LICENSE
|
||||
Touched: 2021
|
||||
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
|
||||
73
common/wiki/amWiki/css/fontello.css
vendored
73
common/wiki/amWiki/css/fontello.css
vendored
@@ -1,73 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.eot?41509248');
|
||||
src: url('../font/fontello.eot?41509248#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff2?41509248') format('woff2'),
|
||||
url('../font/fontello.woff?41509248') format('woff'),
|
||||
url('../font/fontello.ttf?41509248') format('truetype'),
|
||||
url('../font/fontello.svg?41509248#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.svg?41509248#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: "fontello";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: never;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.icon-attention-circled:before { content: '\e800'; } /* '' */
|
||||
.icon-warning:before { content: '\e801'; } /* '' */
|
||||
.icon-warning-empty:before { content: '\e802'; } /* '' */
|
||||
.icon-attention:before { content: '\e803'; } /* '' */
|
||||
.icon-error:before { content: '\e804'; } /* '' */
|
||||
.icon-error-alt:before { content: '\e805'; } /* '' */
|
||||
.icon-ok-circled2:before { content: '\e806'; } /* '' */
|
||||
.icon-ok-circled:before { content: '\e807'; } /* '' */
|
||||
.icon-ok:before { content: '\e808'; } /* '' */
|
||||
.icon-docs:before { content: '\f0c5'; } /* '' */
|
||||
.icon-doc-text:before { content: '\f0f6'; } /* '' */
|
||||
.icon-code:before { content: '\f121'; } /* '' */
|
||||
.icon-attention-alt:before { content: '\f12a'; } /* '' */
|
||||
.icon-ok-squared:before { content: '\f14a'; } /* '' */
|
||||
.icon-doc-inv:before { content: '\f15b'; } /* '' */
|
||||
.icon-doc-text-inv:before { content: '\f15c'; } /* '' */
|
||||
.icon-file-code:before { content: '\f1c9'; } /* '' */
|
||||
@@ -1,71 +0,0 @@
|
||||
/**
|
||||
* GitHub Gist Theme
|
||||
* Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
html{font-family:sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
|
||||
body{margin:0}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}
|
||||
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
|
||||
audio:not([controls]){display:none;height:0}
|
||||
[hidden],template{display:none}
|
||||
a{background-color:transparent}
|
||||
a:active,a:hover{outline:0}
|
||||
abbr[title]{border-bottom:1px dotted}
|
||||
b,strong{font-weight:bold}
|
||||
dfn{font-style:italic}
|
||||
h1{font-size:2em;margin:0.67em 0}
|
||||
mark{background:#ff0;color:#000}
|
||||
small{font-size:80%}
|
||||
sub,sup{line-height:0;position:relative;vertical-align:baseline}
|
||||
sup{top:-0.5em}
|
||||
sub{bottom:-0.25em}
|
||||
img{border:0}
|
||||
svg:not(:root){overflow:hidden}
|
||||
figure{margin:1em 40px}
|
||||
hr{box-sizing:content-box;height:0}
|
||||
pre{overflow:auto}
|
||||
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
|
||||
button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
|
||||
button{overflow:visible}
|
||||
button,select{text-transform:none}
|
||||
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
||||
button[disabled],html input[disabled]{cursor:default}
|
||||
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
||||
input{line-height:normal}
|
||||
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
||||
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}
|
||||
input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}
|
||||
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
|
||||
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}
|
||||
legend{border:0;padding:0}
|
||||
textarea{overflow:auto}
|
||||
optgroup{font-weight:bold}
|
||||
table{border-collapse:collapse;border-spacing:0}
|
||||
td,th{padding:0}
|
||||
*{box-sizing:border-box}
|
||||
input,select,textarea,button{font:13px / 1.4 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}
|
||||
body{font:13px / 1.4 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#333;background-color:#fff}
|
||||
a{color:#4078c0;text-decoration:none}
|
||||
a:hover,a:active{text-decoration:underline}
|
||||
hr,.rule{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #ddd}
|
||||
hr::before,.rule::before{display:table;content:""}
|
||||
hr::after,.rule::after{display:table;clear:both;content:""}
|
||||
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0;line-height:1.5}
|
||||
h1{font-size:30px}
|
||||
h2{font-size:21px}
|
||||
h3{font-size:16px}
|
||||
h4{font-size:14px}
|
||||
h5{font-size:12px}
|
||||
h6{font-size:11px}
|
||||
p{margin-top:0;margin-bottom:10px}
|
||||
small{font-size:90%}
|
||||
blockquote{margin:0}
|
||||
.lead{margin-bottom:30px;font-size:20px;font-weight:300;color:#555}
|
||||
.text-emphasized{font-weight:bold;color:#333}
|
||||
ul,ol{padding-left:0;margin-top:0;margin-bottom:0}
|
||||
ol ol,ul ol{list-style-type:lower-roman}
|
||||
ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}
|
||||
dd{margin-left:0}
|
||||
tt,code{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px}
|
||||
pre{margin-top:0;margin-bottom:0;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace}
|
||||
.markdown-body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;line-height:1.6;word-wrap:break-word}
|
||||
.markdown-body:before{display:table;content:""}
|
||||
.markdown-body:after{display:table;clear:both;content:""}
|
||||
.markdown-body>*:first-child{margin-top:0 !important}
|
||||
.markdown-body>*:last-child{margin-bottom:0 !important}
|
||||
.markdown-body a:not([href]){color:inherit;text-decoration:none}
|
||||
.markdown-body .absent{color:#c00}
|
||||
.markdown-body .anchor{display:inline-block;padding-right:2px;margin-left:-18px}
|
||||
.markdown-body .anchor:focus{outline:none}
|
||||
.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1em;margin-bottom:16px;font-weight:bold;line-height:1.4}
|
||||
.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}
|
||||
.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}
|
||||
.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}
|
||||
.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}
|
||||
.markdown-body h1{padding-bottom:0.3em;font-size:2.25em;line-height:1.2;border-bottom:1px solid #eee}
|
||||
.markdown-body h1 .anchor{line-height:1}
|
||||
.markdown-body h2{padding-bottom:0.3em;font-size:1.75em;line-height:1.225;border-bottom:1px solid #eee}
|
||||
.markdown-body h2 .anchor{line-height:1}
|
||||
.markdown-body h3{font-size:1.5em;line-height:1.43}
|
||||
.markdown-body h3 .anchor{line-height:1.2}
|
||||
.markdown-body h4{font-size:1.25em}
|
||||
.markdown-body h4 .anchor{line-height:1.2}
|
||||
.markdown-body h5{font-size:1em}
|
||||
.markdown-body h5 .anchor{line-height:1.1}
|
||||
.markdown-body h6{font-size:1em;color:#777}
|
||||
.markdown-body h6 .anchor{line-height:1.1}
|
||||
.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px}
|
||||
.markdown-body hr{height:4px;padding:0;margin:16px 0;background-color:#e7e7e7;border:0 none}
|
||||
.markdown-body ul,.markdown-body ol{padding-left:2em}
|
||||
.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}
|
||||
.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}
|
||||
.markdown-body li>p{margin-top:16px}
|
||||
.markdown-body dl{padding:0}
|
||||
.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}
|
||||
.markdown-body dl dd{padding:0 16px;margin-bottom:16px}
|
||||
.markdown-body blockquote{padding:0 15px;color:#777;border-left:4px solid #ddd}
|
||||
.markdown-body blockquote>:first-child{margin-top:0}
|
||||
.markdown-body blockquote>:last-child{margin-bottom:0}
|
||||
.markdown-body table{display:table;width:100%;overflow:auto;word-break:normal;word-break:keep-all}
|
||||
.markdown-body table th{font-weight:bold}
|
||||
.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #ddd}
|
||||
.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}
|
||||
.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}
|
||||
.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff;display:block;margin:1em auto;}
|
||||
.markdown-body table img{margin:auto;}
|
||||
.markdown-body img[align=right]{padding-left:20px}
|
||||
.markdown-body img[align=left]{padding-right:20px}
|
||||
.markdown-body .emoji{max-width:none;background-color:transparent}
|
||||
.markdown-body span.frame{display:block;overflow:hidden}
|
||||
.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}
|
||||
.markdown-body span.frame span img{display:block;float:left}
|
||||
.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}
|
||||
.markdown-body span.align-center{display:block;overflow:hidden;clear:both}
|
||||
.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}
|
||||
.markdown-body span.align-center span img{margin:0 auto;text-align:center}
|
||||
.markdown-body span.align-right{display:block;overflow:hidden;clear:both}
|
||||
.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}
|
||||
.markdown-body span.align-right span img{margin:0;text-align:right}
|
||||
.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}
|
||||
.markdown-body span.float-left span{margin:13px 0 0}
|
||||
.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}
|
||||
.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}
|
||||
.markdown-body code,.markdown-body tt{padding:0;padding-top:0.2em;padding-bottom:0.2em;margin:0;font-size:85%;background-color:rgba(0,0,0,0.04);border-radius:3px}
|
||||
.markdown-body code:before,.markdown-body code:after,.markdown-body tt:before,.markdown-body tt:after{letter-spacing:-0.2em;content:"\00a0"}
|
||||
.markdown-body code br,.markdown-body tt br{display:none}
|
||||
.markdown-body del code{text-decoration:inherit}
|
||||
.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}
|
||||
.markdown-body .highlight{margin-bottom:16px}
|
||||
.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}
|
||||
.markdown-body .highlight pre{margin-bottom:0;word-break:normal}
|
||||
.markdown-body pre{word-wrap:normal}
|
||||
.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}
|
||||
.markdown-body pre code:before,.markdown-body pre code:after,.markdown-body pre tt:before,.markdown-body pre tt:after{content:normal}
|
||||
.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}
|
||||
.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}
|
||||
.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}
|
||||
.markdown-body .csv-data tr{border-top:0}
|
||||
.markdown-body .csv-data th{font-weight:bold;background:#f8f8f8;border-top:0}
|
||||
.markdown-body li {list-style:unset;}
|
||||
@@ -1,65 +0,0 @@
|
||||
/*
|
||||
|
||||
Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name>
|
||||
|
||||
*/
|
||||
.hljs {
|
||||
background: white !important;
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote,
|
||||
.hljs-variable {
|
||||
color: #008000 !important;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-built_in,
|
||||
.hljs-name,
|
||||
.hljs-tag {
|
||||
color: #00f !important;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-attribute,
|
||||
.hljs-literal,
|
||||
.hljs-template-tag,
|
||||
.hljs-template-variable,
|
||||
.hljs-type,
|
||||
.hljs-addition {
|
||||
color: #a31515 !important;
|
||||
}
|
||||
|
||||
.hljs-deletion,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-meta {
|
||||
color: #2b91af !important;
|
||||
}
|
||||
|
||||
.hljs-doctag {
|
||||
color: #808080 !important;
|
||||
}
|
||||
|
||||
.hljs-attr {
|
||||
color: #f00 !important;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-link {
|
||||
color: #00b0e8 !important;
|
||||
}
|
||||
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
/*
|
||||
* Visual Studio 2015 dark style
|
||||
* Author: Nicolas LLOBERA <nllobera@gmail.com>
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
background: #1E1E1E !important;
|
||||
color: #DCDCDC !important;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-name {
|
||||
color: #569CD6 !important;
|
||||
}
|
||||
.hljs-link {
|
||||
color: #569CD6 !important;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-type {
|
||||
color: #4EC9B0 !important;
|
||||
}
|
||||
|
||||
.hljs-number,
|
||||
.hljs-class {
|
||||
color: #B8D7A3 !important;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-meta .hljs-string {
|
||||
color: #D69D85 !important;
|
||||
}
|
||||
|
||||
.hljs-regexp,
|
||||
.hljs-template-tag {
|
||||
color: #9A5334 !important;
|
||||
}
|
||||
|
||||
.hljs-subst,
|
||||
.hljs-function,
|
||||
.hljs-title,
|
||||
.hljs-params,
|
||||
.hljs-formula {
|
||||
color: #DCDCDC !important;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #57A64A !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
.hljs-doctag {
|
||||
color: #608B4E !important;
|
||||
}
|
||||
|
||||
.hljs-meta,
|
||||
.hljs-meta .hljs-keyword,
|
||||
|
||||
.hljs-tag {
|
||||
color: #9B9B9B !important;
|
||||
}
|
||||
|
||||
.hljs-variable,
|
||||
.hljs-template-variable {
|
||||
color: #BD63C5 !important;
|
||||
}
|
||||
|
||||
.hljs-attr,
|
||||
.hljs-attribute {
|
||||
color: #9CDCFE !important;
|
||||
}
|
||||
|
||||
.hljs-section {
|
||||
color: gold !important;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
/*.hljs-code {
|
||||
font-family:'Monospace';
|
||||
}*/
|
||||
|
||||
.hljs-bullet,
|
||||
.hljs-selector-tag,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #D7BA7D !important;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
background-color: #144212 !important;
|
||||
display: inline-block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
background-color: #600 !important;
|
||||
display: inline-block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
@@ -1,772 +0,0 @@
|
||||
{
|
||||
"name": "",
|
||||
"css_prefix_text": "icon-",
|
||||
"css_use_suffix": false,
|
||||
"hinting": true,
|
||||
"units_per_em": 1000,
|
||||
"ascent": 850,
|
||||
"glyphs": [
|
||||
{
|
||||
"uid": "b035c28eba2b35c6ffe92aee8b0df507",
|
||||
"css": "attention-circled",
|
||||
"code": 59392,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "dd4b00255957a608953c409346e7d7fb",
|
||||
"css": "warning",
|
||||
"code": 59393,
|
||||
"src": "typicons"
|
||||
},
|
||||
{
|
||||
"uid": "8f28d948aa6379b1a69d2a090e7531d4",
|
||||
"css": "warning-empty",
|
||||
"code": 59394,
|
||||
"src": "typicons"
|
||||
},
|
||||
{
|
||||
"uid": "c76b7947c957c9b78b11741173c8349b",
|
||||
"css": "attention",
|
||||
"code": 59395,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "00391fac5d419345ffcccd95b6f76263",
|
||||
"css": "attention-alt",
|
||||
"code": 61738,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "8686c28321fa41471067418c7496fb25",
|
||||
"css": "code",
|
||||
"code": 61729,
|
||||
"src": "custom_icons",
|
||||
"selected": true,
|
||||
"svg": {
|
||||
"path": "M344 781L316 809Q311 814 304 814T291 809L31 548Q25 543 25 536T31 523L291 263Q296 257 304 257T316 263L344 291Q350 296 350 304T344 316L125 536 344 755Q350 761 350 768T344 781ZM674 185L466 906Q464 913 457 917T444 918L410 909Q402 906 399 900T397 886L606 166Q608 158 614 155T627 153L662 163Q669 165 673 172T674 185ZM1041 548L781 809Q775 814 768 814T755 809L727 781Q722 775 722 768T727 755L946 536 727 316Q722 311 722 304T727 291L755 263Q761 257 768 257T781 263L1041 523Q1046 528 1046 536T1041 548Z",
|
||||
"width": 1071.4
|
||||
},
|
||||
"search": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "170d244808a35d11ca0649940d43c7a6",
|
||||
"css": "file-code",
|
||||
"code": 61897,
|
||||
"src": "custom_icons",
|
||||
"selected": true,
|
||||
"svg": {
|
||||
"path": "M819 212Q835 228 846 254T857 304V946Q857 969 842 984T804 1000H54Q31 1000 16 984T0 946V54Q0 31 16 16T54 0H554Q576 0 603 11T645 38ZM571 76V286H781Q776 269 769 263L594 88Q588 81 571 76ZM786 929V357H554Q531 357 516 341T500 304V71H71V929H786ZM268 429Q272 422 280 422T293 425L321 446Q328 451 328 458T325 471L223 607 325 743Q329 749 328 756T321 768L293 789Q287 793 280 793T268 786L142 618Q134 607 142 596ZM715 596Q723 607 715 618L589 786Q585 792 578 793T564 789L536 768Q530 763 529 756T532 743L634 607 532 471Q528 465 529 458T536 446L564 425Q570 421 578 422T589 429ZM369 854Q362 853 358 846T355 833L432 369Q433 362 439 358T453 355L488 360Q495 362 499 368T502 381L425 845Q424 852 418 856T405 859Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"file-code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "5408be43f7c42bccee419c6be53fdef5",
|
||||
"css": "doc-text",
|
||||
"code": 61686,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "178053298e3e5b03551d754d4b9acd8b",
|
||||
"css": "doc-inv",
|
||||
"code": 61787,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "c08a1cde48d96cba21d8c05fa7d7feb1",
|
||||
"css": "doc-text-inv",
|
||||
"code": 61788,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "3ab229dd9bccaaaf6c71096da4b72c04",
|
||||
"css": "error",
|
||||
"code": 59396,
|
||||
"src": "elusive"
|
||||
},
|
||||
{
|
||||
"uid": "3c0ef77f5fbb5c933c23f2c437d8cab8",
|
||||
"css": "error-alt",
|
||||
"code": 59397,
|
||||
"src": "elusive"
|
||||
},
|
||||
{
|
||||
"uid": "ad33e708f4d2e25c5056c931da1528d6",
|
||||
"css": "ok-circled2",
|
||||
"code": 59398,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "43ab845088317bd348dee1d975700c48",
|
||||
"css": "ok-circled",
|
||||
"code": 59399,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "12f4ece88e46abd864e40b35e05b11cd",
|
||||
"css": "ok",
|
||||
"code": 59400,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "1400d5103edd2fa6d2d61688fee79a5a",
|
||||
"css": "ok-squared",
|
||||
"code": 61770,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "c8585e1e5b0467f28b70bce765d5840c",
|
||||
"css": "docs",
|
||||
"code": 61637,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "b9c49b4d79143c6e8c80d227be7e5506",
|
||||
"css": "puzzle",
|
||||
"code": 61742,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M929 613Q929 658 904 688T835 718Q812 718 792 708T759 687 727 666 688 656Q626 656 626 725 626 747 635 790T643 854V857Q631 857 625 857 606 859 571 864T506 871 452 874Q417 874 394 859T371 812Q371 792 380 773T402 741 423 708 433 665Q433 621 402 596T327 571Q280 571 247 597T214 668Q214 692 223 714T241 750 260 780 268 808Q268 833 243 858 222 877 178 877 124 877 41 864 36 863 25 862T10 859L3 858Q2 858 1 858 0 858 0 857V286Q1 286 10 288T29 290 41 292Q124 306 178 306 222 306 243 286 268 262 268 237 268 224 260 208T241 179 223 143 214 96Q214 51 247 25T328 0Q372 0 402 25T433 94Q433 117 423 137T402 170 380 201 371 241Q371 273 394 288T452 302Q487 302 552 294T643 285V286Q642 287 641 295T638 314 636 326Q623 410 623 463 623 508 642 528 667 554 692 554 704 554 720 546T750 527 786 508 832 500Q878 500 903 533T929 613Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"puzzle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "54c5e1c13c6188605cad4d12b46ee5fe",
|
||||
"css": "play-circled",
|
||||
"code": 61764,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M429 71Q545 71 644 129T800 285 857 500 800 715 644 871 429 929 213 871 58 715 0 500 58 285 213 129 429 71ZM643 531Q661 521 661 500T643 469L339 291Q322 280 304 290 286 301 286 321V679Q286 699 304 710 313 714 321 714 331 714 339 709Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"play-circled"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "9c088d0842910a71c0914bfce84b93d6",
|
||||
"css": "thumbs-up-alt",
|
||||
"code": 61796,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M143 750Q143 735 132 725T107 714Q92 714 82 725T71 750Q71 765 82 775T107 786Q122 786 132 775T143 750ZM232 464V821Q232 836 222 846T196 857H36Q21 857 11 846T0 821V464Q0 450 11 439T36 429H196Q211 429 222 439T232 464ZM893 464Q893 512 862 547 871 572 871 590 872 632 847 666 856 697 847 732 838 763 816 784 821 846 789 885 753 928 679 929H607Q570 929 527 920T459 904 392 882Q323 858 304 857 289 857 279 846T268 821V464Q268 450 278 439T302 428Q315 427 344 395T401 328Q439 279 457 261 467 251 474 234T484 207 492 173Q496 151 499 139T510 110 529 82Q539 71 554 71 579 71 600 77T633 92 655 114 669 139 676 167 678 192 679 214Q679 235 673 257T663 290 647 321Q646 325 642 331T636 344 631 357H786Q829 357 861 389T893 464Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"thumbs-up-alt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "2f3de62620d650c58b6deaeb7bea4b1f",
|
||||
"css": "language",
|
||||
"code": 61867,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M365 602Q364 603 358 601T340 595L329 590Q305 579 281 562 277 560 258 545T237 529Q199 586 162 630 117 683 103 691 101 692 92 694T82 694Q85 691 128 642 140 629 176 578T219 512Q229 495 248 457T268 414Q263 413 207 432 202 434 191 437T172 442 162 445Q161 446 161 451T161 456Q158 461 143 464 131 468 117 464 107 462 102 453 99 449 99 440 102 439 112 437T129 434Q161 425 188 416 243 396 244 396 250 395 268 385T293 373Q298 372 305 369T313 366 316 366Q318 373 316 384 316 386 309 400T294 429 285 448Q271 476 242 521L277 537Q284 540 319 555T357 570Q359 571 362 584T365 602ZM251 330Q252 339 248 346 242 359 220 367 204 374 187 374 172 372 160 359 152 351 150 336L150 335Q152 336 161 338T176 338 208 329Q228 322 239 321 248 321 251 330ZM640 402L675 529 598 506ZM22 849L409 719V143L22 273V849ZM714 672L771 689 670 322 614 305 494 604 551 622 576 560 694 596ZM434 135L753 238V26ZM607 873L695 881 665 970 643 933Q570 979 489 993 457 1000 438 1000H391Q347 1000 280 978T178 931Q173 927 173 922 173 917 176 914T183 911Q185 911 193 916T210 925 222 931Q262 952 311 965T398 979Q452 979 492 971T579 943Q588 939 596 934T615 923 631 914ZM857 271V873L425 736Q417 739 216 807T11 875Q3 875 1 868 1 867 0 866V264Q2 259 2 259 5 256 13 253 73 233 97 225V11L408 121Q409 121 498 90T674 30 764 0Q775 0 775 12V245Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "76481153ce458413ddc9983758497897",
|
||||
"css": "cube",
|
||||
"code": 61874,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M500 909L857 714V359L500 489V909ZM464 426L854 285 464 143 75 285ZM929 286V714Q929 734 919 751T891 777L498 991Q483 1000 464 1000T430 991L37 777Q20 767 10 751T0 714V286Q0 263 13 245T47 219L440 76Q452 71 464 71T489 76L882 219Q903 227 916 245T929 286Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"cube"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "a86a751f45a326750df9210051b9ddb7",
|
||||
"css": "toggle-off",
|
||||
"code": 61956,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M643 500Q643 442 620 389T559 298 468 237 357 214 246 237 155 298 94 389 71 500 94 611 155 702 246 763 357 786 468 763 559 702 620 611 643 500ZM1071 500Q1071 442 1049 389T988 298 897 237 786 214H570Q637 264 676 339T714 500 676 661 570 786H786Q844 786 897 763T988 702 1049 611 1071 500ZM1143 500Q1143 572 1114 639T1038 752 924 829 786 857H357Q285 857 219 829T105 752 29 639 0 500 29 361 105 247 219 171 357 143H786Q858 143 924 171T1038 247 1114 361 1143 500Z",
|
||||
"width": 1142.9
|
||||
},
|
||||
"search": [
|
||||
"toggle-off"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "609b5acba7f57cf6e4b7cb71c44ea8cb",
|
||||
"css": "toggle-on",
|
||||
"code": 59418,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 500Q0 427 29 361T105 247 219 171 357 143H786Q858 143 924 171T1038 247 1114 361 1143 500 1114 639 1038 752 924 829 786 857H357Q285 857 219 829T105 752 29 639 0 500ZM786 786Q844 786 897 763T988 702 1049 611 1071 500 1049 389 988 298 897 237 786 214 675 237 584 298 523 389 500 500 523 611 584 702 675 763 786 786Z",
|
||||
"width": 1142.9
|
||||
},
|
||||
"search": [
|
||||
"toggle-on"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "12e0f17bd06a5c1e3e4069139d6bac56",
|
||||
"css": "microchip",
|
||||
"code": 62171,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M107 714V786H45Q36 786 36 777V768H9Q0 768 0 759V741Q0 732 9 732H36V723Q36 714 45 714H107ZM107 571V643H45Q36 643 36 634V625H9Q0 625 0 616V598Q0 589 9 589H36V580Q36 571 45 571H107ZM107 429V500H45Q36 500 36 491V482H9Q0 482 0 473V455Q0 446 9 446H36V437Q36 429 45 429H107ZM107 286V357H45Q36 357 36 348V339H9Q0 339 0 330V312Q0 304 9 304H36V295Q36 286 45 286H107ZM107 143V214H45Q36 214 36 205V196H9Q0 196 0 187V170Q0 161 9 161H36V152Q36 143 45 143H107ZM714 54V875Q714 897 699 913T661 929H196Q174 929 159 913T143 875V54Q143 31 159 16T196 0H661Q683 0 699 16T714 54ZM857 741V759Q857 768 848 768H821V777Q821 786 813 786H750V714H813Q821 714 821 723V732H848Q857 732 857 741ZM857 598V616Q857 625 848 625H821V634Q821 643 813 643H750V571H813Q821 571 821 580V589H848Q857 589 857 598ZM857 455V473Q857 482 848 482H821V491Q821 500 813 500H750V429H813Q821 429 821 437V446H848Q857 446 857 455ZM857 312V330Q857 339 848 339H821V348Q821 357 813 357H750V286H813Q821 286 821 295V304H848Q857 304 857 312ZM857 170V187Q857 196 848 196H821V205Q821 214 813 214H750V143H813Q821 143 821 152V161H848Q857 161 857 170Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"microchip"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "044654dad73bdf730129ca71874135cf",
|
||||
"css": "folder-open-empty",
|
||||
"code": 62658,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 793V285Q0 249 25 225T85 200H114Q117 167 141 145T199 122H389Q423 122 447 145T474 200H825Q860 200 885 225T910 285V369H976Q1011 369 1031 394T1045 454L946 793Q940 828 910 853T844 878H85Q50 878 25 853T0 793ZM125 793H844Q849 793 855 788T862 777L864 770 956 454H237Q232 454 226 459T219 470L216 478Z",
|
||||
"width": 1046.9
|
||||
},
|
||||
"search": [
|
||||
"folder-open-empty"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "b1f16f4550b9a7c39fc0dfd0456ca6aa",
|
||||
"css": "cw",
|
||||
"code": 59392,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 143V393Q857 407 847 418T821 429H571Q548 429 539 406 529 384 546 368L623 291Q541 214 429 214 371 214 318 237T227 298 166 389 143 500 166 611 227 702 318 763 429 786Q495 786 554 757T654 675Q658 669 667 668 675 668 681 673L757 750Q762 754 763 761T758 774Q698 848 611 888T429 929Q342 929 262 895T126 803 34 666 0 500 34 334 126 197 262 105 429 71Q511 71 587 102T724 190L796 118Q813 100 835 110 857 119 857 143Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"cw"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "d7da41b863cb59c357ccc9f870c911d7",
|
||||
"css": "ccw",
|
||||
"code": 59393,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 500Q857 587 823 666T732 803 595 895 429 929Q333 929 246 888T99 774Q95 768 95 761T100 750L176 673Q182 668 190 668 199 669 203 675 244 728 303 757T429 786Q487 786 539 763T631 702 692 611 714 500 692 389 631 298 539 237 429 214Q374 214 324 234T234 291L311 368Q328 384 319 406 309 429 286 429H36Q21 429 11 418T0 393V143Q0 119 22 110 44 100 61 118L133 190Q193 133 270 102T429 71Q516 71 595 105T732 197 823 334 857 500Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"ccw"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "db6678290ba79033cb1d379032d624af",
|
||||
"css": "doc-new",
|
||||
"code": 59394,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 1000L0 182 188 0 707 0 707 348 621 348 621 88 252 88 252 244 86 244 86 912 504 912 504 1000 0 1000ZM373 793L373 631 582 631 582 424 742 424 742 631 949 631 949 793 742 793 742 1000 582 1000 582 793 373 793Z",
|
||||
"width": 949
|
||||
},
|
||||
"search": [
|
||||
"doc-new"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "6775d032c9f88e04ab279329a85e143c",
|
||||
"css": "art-gallery",
|
||||
"code": 59395,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M400 125C150 125 0 325 0 425S50 600 150 600 300 625 300 700C300 800 375 875 475 875 800 875 950 700 950 525 950 225 700 125 400 125ZM338 225C372 225 400 253 400 287 400 322 372 350 338 350 303 350 275 322 275 287 275 253 303 225 338 225ZM538 225C572 225 600 253 600 287 600 322 572 350 538 350 503 350 475 322 475 287 475 253 503 225 538 225ZM738 325C772 325 800 353 800 387 800 422 772 450 738 450 703 450 675 422 675 387 675 353 703 325 738 325ZM163 375C197 375 225 403 225 437 225 472 197 500 163 500 128 500 100 472 100 437 100 403 128 375 163 375ZM475 625C516 625 550 659 550 700S516 775 475 775 400 741 400 700 434 625 475 625Z",
|
||||
"width": 950
|
||||
},
|
||||
"search": [
|
||||
"art-gallery"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "0b9346480dde7ba9398e378048e4a7f4",
|
||||
"css": "download",
|
||||
"code": 59396,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M714 750Q714 735 704 725T679 714 654 725 643 750 654 775 679 786 704 775 714 750ZM857 750Q857 735 847 725T821 714 796 725 786 750 796 775 821 786 847 775 857 750ZM929 625V804Q929 826 913 841T875 857H54Q31 857 16 841T0 804V625Q0 603 16 587T54 571H313L388 647Q421 679 464 679T540 647L616 571H875Q897 571 913 587T929 625ZM747 307Q757 330 739 346L489 596Q479 607 464 607T439 596L189 346Q172 330 181 307 191 286 214 286H357V36Q357 21 368 11T393 0H536Q550 0 561 11T571 36V286H714Q738 286 747 307Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"download"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "0641748ea0cc1d549b1d02d1a2dd5f5a",
|
||||
"css": "download-1",
|
||||
"code": 59397,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M968 652Q986 662 995 684T998 724L970 878Q966 898 948 911T908 924L92 924Q70 924 52 911T30 878L2 724Q-8 676 34 652L192 544 290 544 120 674 298 674Q306 674 310 682L350 792 650 792 690 682Q698 674 702 674L880 674 710 544 808 544ZM760 330L500 574 240 330 406 330 406 74 596 74 596 330 760 330Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"download-1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "756c152919d22a591f34fa3d84ccf898",
|
||||
"css": "floppy",
|
||||
"code": 59398,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M214 857H643V643H214V857ZM714 857H786V357Q786 349 780 336T769 316L612 160Q607 154 593 148T571 143V375Q571 397 556 413T518 429H196Q174 429 159 413T143 375V143H71V857H143V625Q143 603 159 587T196 571H661Q683 571 699 587T714 625V857ZM500 339V161Q500 153 495 148T482 143H375Q368 143 362 148T357 161V339Q357 346 362 352T375 357H482Q489 357 495 352T500 339ZM857 357V875Q857 897 842 913T804 929H54Q31 929 16 913T0 875V125Q0 103 16 87T54 71H571Q594 71 621 83T663 109L819 266Q835 281 846 308T857 357Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"floppy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "878a3a1d06eab0ddd31bf9a62b10f011",
|
||||
"css": "link",
|
||||
"code": 59399,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M813 679Q813 656 797 641L681 525Q665 509 643 509 619 509 603 527 604 528 613 537T625 549 634 560 641 574 643 589Q643 612 627 627T589 643Q581 643 574 641T560 634 549 625 537 613 527 603Q508 620 508 643 508 666 524 681L639 797Q654 812 677 812 699 812 715 797L797 716Q813 700 813 679ZM420 285Q420 263 405 247L290 132Q274 116 252 116 230 116 214 131L132 213Q116 228 116 250 116 272 132 288L248 404Q263 419 286 419 309 419 326 402 324 400 315 391T303 379 295 369 288 355 286 339Q286 317 301 301T339 286Q348 286 355 288T369 295 380 303 392 315 402 326Q420 309 420 285ZM920 679Q920 745 872 792L790 873Q744 920 677 920 609 920 563 872L448 757Q402 710 402 643 402 575 451 527L402 478Q354 527 286 527 219 527 172 480L56 364Q9 317 9 250T56 137L138 55Q185 9 252 9 319 9 366 56L481 172Q527 218 527 285 527 354 478 402L527 451Q575 402 643 402 710 402 757 449L873 565Q920 612 920 679Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"link"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "63e9176f0728ce293256ce93b3fb58aa",
|
||||
"css": "upload",
|
||||
"code": 59400,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M500 74L760 318 596 318 596 574 406 574 406 318 240 318ZM968 652Q986 662 995 684T998 724L970 878Q966 898 948 911T908 924L92 924Q70 924 52 911T30 878L2 724Q-8 676 34 652L192 544 290 544 120 674 298 674Q306 674 310 682L350 792 650 792 690 682Q698 674 702 674L880 674 710 544 808 544Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"upload"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "64d611bf404e6105c1e50e8313dbae13",
|
||||
"css": "cog",
|
||||
"code": 59401,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M571 500Q571 441 530 399T429 357 328 399 286 500 328 601 429 643 530 601 571 500ZM857 439V563Q857 570 853 576T842 583L738 599Q728 629 717 650 736 677 776 727 782 733 782 740T777 753Q762 774 722 814T669 853Q662 853 655 848L578 788Q553 801 527 809 518 885 511 913 507 929 491 929H367Q359 929 353 924T347 912L331 809Q304 800 281 788L202 848Q196 853 188 853 180 853 174 847 104 783 82 753 78 748 78 740 78 734 83 728 91 716 111 691T141 651Q126 623 118 596L16 581Q9 580 5 574T0 561V437Q0 430 5 424T15 417L119 401Q127 376 141 350 118 318 81 273 75 266 75 259 75 254 80 247 95 227 135 187T188 147Q195 147 203 152L280 212Q304 199 330 191 339 115 347 87 350 71 367 71H491Q498 71 504 76T511 88L526 191Q554 200 577 211L656 152Q661 147 669 147 676 147 683 152 755 219 775 247 779 252 779 259 779 266 775 272 766 284 746 309T716 349Q731 377 739 403L841 419Q848 420 853 426T857 439Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"cog"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "bfdcebbb63545e6d422ca18da2019812",
|
||||
"css": "cancel",
|
||||
"code": 59402,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M724 738Q724 760 709 776L633 852Q617 867 595 867T557 852L393 687 229 852Q213 867 191 867T153 852L77 776Q61 760 61 738T77 700L241 536 77 372Q61 356 61 334T77 296L153 220Q169 204 191 204T229 220L393 384 557 220Q573 204 595 204T633 220L709 296Q724 311 724 334T709 372L545 536 709 700Q724 715 724 738Z",
|
||||
"width": 785.7
|
||||
},
|
||||
"search": [
|
||||
"cancel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "22c0cbdaff1a61652af8cf5f05ddae53",
|
||||
"css": "share",
|
||||
"code": 59403,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M650 650Q712 650 756 693T800 800Q800 862 756 906T650 950 544 906 500 800Q500 794 501 786T502 774L242 618Q200 650 150 650 88 650 44 606T0 500 44 394 150 350Q204 350 242 380L502 224Q502 220 501 212T500 200Q500 138 544 94T650 50 756 93 800 200Q800 262 756 306T650 350Q598 350 560 318L298 474Q300 482 300 500 300 516 298 524L560 680Q596 650 650 650Z",
|
||||
"width": 800
|
||||
},
|
||||
"search": [
|
||||
"share"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "c2fafd36474211c0ada9e12937d4d41e",
|
||||
"css": "menu",
|
||||
"code": 61641,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 750V821Q857 836 847 846T821 857H36Q21 857 11 846T0 821V750Q0 735 11 725T36 714H821Q836 714 847 725T857 750ZM857 464V536Q857 550 847 561T821 571H36Q21 571 11 561T0 536V464Q0 450 11 439T36 429H821Q836 429 847 439T857 464ZM857 179V250Q857 264 847 275T821 286H36Q21 286 11 275T0 250V179Q0 164 11 153T36 143H821Q836 143 847 153T857 179Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"menu"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "961cccebd55e2ed5b0664c4d04138cdd",
|
||||
"css": "cw",
|
||||
"code": 59392,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 143V393Q857 407 847 418T821 429H571Q548 429 539 406 529 384 546 368L623 291Q541 214 429 214 371 214 318 237T227 298 166 389 143 500 166 611 227 702 318 763 429 786Q495 786 554 757T654 675Q658 669 667 668 675 668 681 673L757 750Q762 754 763 761T758 774Q698 848 611 888T429 929Q342 929 262 895T126 803 34 666 0 500 34 334 126 197 262 105 429 71Q511 71 587 102T724 190L796 118Q813 100 835 110 857 119 857 143Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"cw"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "738f3cabd68abf1ef72b540a203ad35b",
|
||||
"css": "ccw",
|
||||
"code": 59393,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 500Q857 587 823 666T732 803 595 895 429 929Q333 929 246 888T99 774Q95 768 95 761T100 750L176 673Q182 668 190 668 199 669 203 675 244 728 303 757T429 786Q487 786 539 763T631 702 692 611 714 500 692 389 631 298 539 237 429 214Q374 214 324 234T234 291L311 368Q328 384 319 406 309 429 286 429H36Q21 429 11 418T0 393V143Q0 119 22 110 44 100 61 118L133 190Q193 133 270 102T429 71Q516 71 595 105T732 197 823 334 857 500Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"ccw"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "d126d30814b7e5eb125c3b86a849b880",
|
||||
"css": "doc-new",
|
||||
"code": 59394,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 1000L0 182 188 0 707 0 707 348 621 348 621 88 252 88 252 244 86 244 86 912 504 912 504 1000 0 1000ZM373 793L373 631 582 631 582 424 742 424 742 631 949 631 949 793 742 793 742 1000 582 1000 582 793 373 793Z",
|
||||
"width": 949
|
||||
},
|
||||
"search": [
|
||||
"doc-new"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "949d1c5a9208f33e2ba7e6ced85fa669",
|
||||
"css": "art-gallery",
|
||||
"code": 59395,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M400 125C150 125 0 325 0 425S50 600 150 600 300 625 300 700C300 800 375 875 475 875 800 875 950 700 950 525 950 225 700 125 400 125ZM338 225C372 225 400 253 400 287 400 322 372 350 338 350 303 350 275 322 275 287 275 253 303 225 338 225ZM538 225C572 225 600 253 600 287 600 322 572 350 538 350 503 350 475 322 475 287 475 253 503 225 538 225ZM738 325C772 325 800 353 800 387 800 422 772 450 738 450 703 450 675 422 675 387 675 353 703 325 738 325ZM163 375C197 375 225 403 225 437 225 472 197 500 163 500 128 500 100 472 100 437 100 403 128 375 163 375ZM475 625C516 625 550 659 550 700S516 775 475 775 400 741 400 700 434 625 475 625Z",
|
||||
"width": 950
|
||||
},
|
||||
"search": [
|
||||
"art-gallery"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "58b1ec9ec8ee874eae8c9217965726de",
|
||||
"css": "download",
|
||||
"code": 59396,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M714 750Q714 735 704 725T679 714 654 725 643 750 654 775 679 786 704 775 714 750ZM857 750Q857 735 847 725T821 714 796 725 786 750 796 775 821 786 847 775 857 750ZM929 625V804Q929 826 913 841T875 857H54Q31 857 16 841T0 804V625Q0 603 16 587T54 571H313L388 647Q421 679 464 679T540 647L616 571H875Q897 571 913 587T929 625ZM747 307Q757 330 739 346L489 596Q479 607 464 607T439 596L189 346Q172 330 181 307 191 286 214 286H357V36Q357 21 368 11T393 0H536Q550 0 561 11T571 36V286H714Q738 286 747 307Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"download"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "0ea6ed005887b39ffef5d5b4a37bee96",
|
||||
"css": "download-1",
|
||||
"code": 59397,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M968 652Q986 662 995 684T998 724L970 878Q966 898 948 911T908 924L92 924Q70 924 52 911T30 878L2 724Q-8 676 34 652L192 544 290 544 120 674 298 674Q306 674 310 682L350 792 650 792 690 682Q698 674 702 674L880 674 710 544 808 544ZM760 330L500 574 240 330 406 330 406 74 596 74 596 330 760 330Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"download-1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "a97d8f383d87d99ea63a861d8350d804",
|
||||
"css": "floppy",
|
||||
"code": 59398,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M214 857H643V643H214V857ZM714 857H786V357Q786 349 780 336T769 316L612 160Q607 154 593 148T571 143V375Q571 397 556 413T518 429H196Q174 429 159 413T143 375V143H71V857H143V625Q143 603 159 587T196 571H661Q683 571 699 587T714 625V857ZM500 339V161Q500 153 495 148T482 143H375Q368 143 362 148T357 161V339Q357 346 362 352T375 357H482Q489 357 495 352T500 339ZM857 357V875Q857 897 842 913T804 929H54Q31 929 16 913T0 875V125Q0 103 16 87T54 71H571Q594 71 621 83T663 109L819 266Q835 281 846 308T857 357Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"floppy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "a473ac64abb069a73c7318b19905825a",
|
||||
"css": "link",
|
||||
"code": 59399,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M813 679Q813 656 797 641L681 525Q665 509 643 509 619 509 603 527 604 528 613 537T625 549 634 560 641 574 643 589Q643 612 627 627T589 643Q581 643 574 641T560 634 549 625 537 613 527 603Q508 620 508 643 508 666 524 681L639 797Q654 812 677 812 699 812 715 797L797 716Q813 700 813 679ZM420 285Q420 263 405 247L290 132Q274 116 252 116 230 116 214 131L132 213Q116 228 116 250 116 272 132 288L248 404Q263 419 286 419 309 419 326 402 324 400 315 391T303 379 295 369 288 355 286 339Q286 317 301 301T339 286Q348 286 355 288T369 295 380 303 392 315 402 326Q420 309 420 285ZM920 679Q920 745 872 792L790 873Q744 920 677 920 609 920 563 872L448 757Q402 710 402 643 402 575 451 527L402 478Q354 527 286 527 219 527 172 480L56 364Q9 317 9 250T56 137L138 55Q185 9 252 9 319 9 366 56L481 172Q527 218 527 285 527 354 478 402L527 451Q575 402 643 402 710 402 757 449L873 565Q920 612 920 679Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"link"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "106c185e7f766557d9b54a05bf64dd2b",
|
||||
"css": "upload",
|
||||
"code": 59400,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M500 74L760 318 596 318 596 574 406 574 406 318 240 318ZM968 652Q986 662 995 684T998 724L970 878Q966 898 948 911T908 924L92 924Q70 924 52 911T30 878L2 724Q-8 676 34 652L192 544 290 544 120 674 298 674Q306 674 310 682L350 792 650 792 690 682Q698 674 702 674L880 674 710 544 808 544Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"upload"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "a76f0aa4f50b792fc483e93c861c488b",
|
||||
"css": "cog",
|
||||
"code": 59401,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M571 500Q571 441 530 399T429 357 328 399 286 500 328 601 429 643 530 601 571 500ZM857 439V563Q857 570 853 576T842 583L738 599Q728 629 717 650 736 677 776 727 782 733 782 740T777 753Q762 774 722 814T669 853Q662 853 655 848L578 788Q553 801 527 809 518 885 511 913 507 929 491 929H367Q359 929 353 924T347 912L331 809Q304 800 281 788L202 848Q196 853 188 853 180 853 174 847 104 783 82 753 78 748 78 740 78 734 83 728 91 716 111 691T141 651Q126 623 118 596L16 581Q9 580 5 574T0 561V437Q0 430 5 424T15 417L119 401Q127 376 141 350 118 318 81 273 75 266 75 259 75 254 80 247 95 227 135 187T188 147Q195 147 203 152L280 212Q304 199 330 191 339 115 347 87 350 71 367 71H491Q498 71 504 76T511 88L526 191Q554 200 577 211L656 152Q661 147 669 147 676 147 683 152 755 219 775 247 779 252 779 259 779 266 775 272 766 284 746 309T716 349Q731 377 739 403L841 419Q848 420 853 426T857 439Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"cog"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "2696e652b5c76ca810f0f6c5c809352f",
|
||||
"css": "cancel",
|
||||
"code": 59402,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M724 738Q724 760 709 776L633 852Q617 867 595 867T557 852L393 687 229 852Q213 867 191 867T153 852L77 776Q61 760 61 738T77 700L241 536 77 372Q61 356 61 334T77 296L153 220Q169 204 191 204T229 220L393 384 557 220Q573 204 595 204T633 220L709 296Q724 311 724 334T709 372L545 536 709 700Q724 715 724 738Z",
|
||||
"width": 785.7
|
||||
},
|
||||
"search": [
|
||||
"cancel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "703194c2888de31a106af793bc96e0a2",
|
||||
"css": "share",
|
||||
"code": 59403,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M650 650Q712 650 756 693T800 800Q800 862 756 906T650 950 544 906 500 800Q500 794 501 786T502 774L242 618Q200 650 150 650 88 650 44 606T0 500 44 394 150 350Q204 350 242 380L502 224Q502 220 501 212T500 200Q500 138 544 94T650 50 756 93 800 200Q800 262 756 306T650 350Q598 350 560 318L298 474Q300 482 300 500 300 516 298 524L560 680Q596 650 650 650Z",
|
||||
"width": 800
|
||||
},
|
||||
"search": [
|
||||
"share"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "40170fcb8f1005501a5a683df0b58f01",
|
||||
"css": "menu-1",
|
||||
"code": 61641,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M857 750V821Q857 836 847 846T821 857H36Q21 857 11 846T0 821V750Q0 735 11 725T36 714H821Q836 714 847 725T857 750ZM857 464V536Q857 550 847 561T821 571H36Q21 571 11 561T0 536V464Q0 450 11 439T36 429H821Q836 429 847 439T857 464ZM857 179V250Q857 264 847 275T821 286H36Q21 286 11 275T0 250V179Q0 164 11 153T36 143H821Q836 143 847 153T857 179Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"menu"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "1561c826862517d8cafa7093b0870a58",
|
||||
"css": "code",
|
||||
"code": 61729,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M344 781L316 809Q311 814 304 814T291 809L31 548Q25 543 25 536T31 523L291 263Q296 257 304 257T316 263L344 291Q350 296 350 304T344 316L125 536 344 755Q350 761 350 768T344 781ZM674 185L466 906Q464 913 457 917T444 918L410 909Q402 906 399 900T397 886L606 166Q608 158 614 155T627 153L662 163Q669 165 673 172T674 185ZM1041 548L781 809Q775 814 768 814T755 809L727 781Q722 775 722 768T727 755L946 536 727 316Q722 311 722 304T727 291L755 263Q761 257 768 257T781 263L1041 523Q1046 528 1046 536T1041 548Z",
|
||||
"width": 1071.4
|
||||
},
|
||||
"search": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "35671e89c133799cbd3dcc21ad634fc0",
|
||||
"css": "puzzle",
|
||||
"code": 61742,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M929 613Q929 658 904 688T835 718Q812 718 792 708T759 687 727 666 688 656Q626 656 626 725 626 747 635 790T643 854V857Q631 857 625 857 606 859 571 864T506 871 452 874Q417 874 394 859T371 812Q371 792 380 773T402 741 423 708 433 665Q433 621 402 596T327 571Q280 571 247 597T214 668Q214 692 223 714T241 750 260 780 268 808Q268 833 243 858 222 877 178 877 124 877 41 864 36 863 25 862T10 859L3 858Q2 858 1 858 0 858 0 857V286Q1 286 10 288T29 290 41 292Q124 306 178 306 222 306 243 286 268 262 268 237 268 224 260 208T241 179 223 143 214 96Q214 51 247 25T328 0Q372 0 402 25T433 94Q433 117 423 137T402 170 380 201 371 241Q371 273 394 288T452 302Q487 302 552 294T643 285V286Q642 287 641 295T638 314 636 326Q623 410 623 463 623 508 642 528 667 554 692 554 704 554 720 546T750 527 786 508 832 500Q878 500 903 533T929 613Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"puzzle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "b8a81344cf356030d4c2e0f4bcbdf761",
|
||||
"css": "play-circled",
|
||||
"code": 61764,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M429 71Q545 71 644 129T800 285 857 500 800 715 644 871 429 929 213 871 58 715 0 500 58 285 213 129 429 71ZM643 531Q661 521 661 500T643 469L339 291Q322 280 304 290 286 301 286 321V679Q286 699 304 710 313 714 321 714 331 714 339 709Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"play-circled"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "d39d36ca0ed8f086d434018c797c31ca",
|
||||
"css": "thumbs-up-alt",
|
||||
"code": 61796,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M143 750Q143 735 132 725T107 714Q92 714 82 725T71 750Q71 765 82 775T107 786Q122 786 132 775T143 750ZM232 464V821Q232 836 222 846T196 857H36Q21 857 11 846T0 821V464Q0 450 11 439T36 429H196Q211 429 222 439T232 464ZM893 464Q893 512 862 547 871 572 871 590 872 632 847 666 856 697 847 732 838 763 816 784 821 846 789 885 753 928 679 929H607Q570 929 527 920T459 904 392 882Q323 858 304 857 289 857 279 846T268 821V464Q268 450 278 439T302 428Q315 427 344 395T401 328Q439 279 457 261 467 251 474 234T484 207 492 173Q496 151 499 139T510 110 529 82Q539 71 554 71 579 71 600 77T633 92 655 114 669 139 676 167 678 192 679 214Q679 235 673 257T663 290 647 321Q646 325 642 331T636 344 631 357H786Q829 357 861 389T893 464Z",
|
||||
"width": 928.6
|
||||
},
|
||||
"search": [
|
||||
"thumbs-up-alt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "d379e745f24a9b81641a566b9d1e88d1",
|
||||
"css": "language",
|
||||
"code": 61867,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M365 602Q364 603 358 601T340 595L329 590Q305 579 281 562 277 560 258 545T237 529Q199 586 162 630 117 683 103 691 101 692 92 694T82 694Q85 691 128 642 140 629 176 578T219 512Q229 495 248 457T268 414Q263 413 207 432 202 434 191 437T172 442 162 445Q161 446 161 451T161 456Q158 461 143 464 131 468 117 464 107 462 102 453 99 449 99 440 102 439 112 437T129 434Q161 425 188 416 243 396 244 396 250 395 268 385T293 373Q298 372 305 369T313 366 316 366Q318 373 316 384 316 386 309 400T294 429 285 448Q271 476 242 521L277 537Q284 540 319 555T357 570Q359 571 362 584T365 602ZM251 330Q252 339 248 346 242 359 220 367 204 374 187 374 172 372 160 359 152 351 150 336L150 335Q152 336 161 338T176 338 208 329Q228 322 239 321 248 321 251 330ZM640 402L675 529 598 506ZM22 849L409 719V143L22 273V849ZM714 672L771 689 670 322 614 305 494 604 551 622 576 560 694 596ZM434 135L753 238V26ZM607 873L695 881 665 970 643 933Q570 979 489 993 457 1000 438 1000H391Q347 1000 280 978T178 931Q173 927 173 922 173 917 176 914T183 911Q185 911 193 916T210 925 222 931Q262 952 311 965T398 979Q452 979 492 971T579 943Q588 939 596 934T615 923 631 914ZM857 271V873L425 736Q417 739 216 807T11 875Q3 875 1 868 1 867 0 866V264Q2 259 2 259 5 256 13 253 73 233 97 225V11L408 121Q409 121 498 90T674 30 764 0Q775 0 775 12V245Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"language"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "8363d07e5c4f06375c179464c8304d36",
|
||||
"css": "cube",
|
||||
"code": 61874,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M500 909L857 714V359L500 489V909ZM464 426L854 285 464 143 75 285ZM929 286V714Q929 734 919 751T891 777L498 991Q483 1000 464 1000T430 991L37 777Q20 767 10 751T0 714V286Q0 263 13 245T47 219L440 76Q452 71 464 71T489 76L882 219Q903 227 916 245T929 286Z",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"cube"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "d35d4937b1ea4f02f0f5480beb23d1e5",
|
||||
"css": "file-code",
|
||||
"code": 61897,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M819 212Q835 228 846 254T857 304V946Q857 969 842 984T804 1000H54Q31 1000 16 984T0 946V54Q0 31 16 16T54 0H554Q576 0 603 11T645 38ZM571 76V286H781Q776 269 769 263L594 88Q588 81 571 76ZM786 929V357H554Q531 357 516 341T500 304V71H71V929H786ZM268 429Q272 422 280 422T293 425L321 446Q328 451 328 458T325 471L223 607 325 743Q329 749 328 756T321 768L293 789Q287 793 280 793T268 786L142 618Q134 607 142 596ZM715 596Q723 607 715 618L589 786Q585 792 578 793T564 789L536 768Q530 763 529 756T532 743L634 607 532 471Q528 465 529 458T536 446L564 425Q570 421 578 422T589 429ZM369 854Q362 853 358 846T355 833L432 369Q433 362 439 358T453 355L488 360Q495 362 499 368T502 381L425 845Q424 852 418 856T405 859Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"file-code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "5e52ef0b3994f135d7ee33259575d616",
|
||||
"css": "toggle-off",
|
||||
"code": 61956,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M643 500Q643 442 620 389T559 298 468 237 357 214 246 237 155 298 94 389 71 500 94 611 155 702 246 763 357 786 468 763 559 702 620 611 643 500ZM1071 500Q1071 442 1049 389T988 298 897 237 786 214H570Q637 264 676 339T714 500 676 661 570 786H786Q844 786 897 763T988 702 1049 611 1071 500ZM1143 500Q1143 572 1114 639T1038 752 924 829 786 857H357Q285 857 219 829T105 752 29 639 0 500 29 361 105 247 219 171 357 143H786Q858 143 924 171T1038 247 1114 361 1143 500Z",
|
||||
"width": 1142.9
|
||||
},
|
||||
"search": [
|
||||
"toggle-off"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "fc9cd89599e8727a1f5165989ca174ef",
|
||||
"css": "toggle-on",
|
||||
"code": 61957,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 500Q0 427 29 361T105 247 219 171 357 143H786Q858 143 924 171T1038 247 1114 361 1143 500 1114 639 1038 752 924 829 786 857H357Q285 857 219 829T105 752 29 639 0 500ZM786 786Q844 786 897 763T988 702 1049 611 1071 500 1049 389 988 298 897 237 786 214 675 237 584 298 523 389 500 500 523 611 584 702 675 763 786 786Z",
|
||||
"width": 1142.9
|
||||
},
|
||||
"search": [
|
||||
"toggle-on"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "c056e244ab43412e6c6a32c23da3c724",
|
||||
"css": "microchip",
|
||||
"code": 62171,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M107 714V786H45Q36 786 36 777V768H9Q0 768 0 759V741Q0 732 9 732H36V723Q36 714 45 714H107ZM107 571V643H45Q36 643 36 634V625H9Q0 625 0 616V598Q0 589 9 589H36V580Q36 571 45 571H107ZM107 429V500H45Q36 500 36 491V482H9Q0 482 0 473V455Q0 446 9 446H36V437Q36 429 45 429H107ZM107 286V357H45Q36 357 36 348V339H9Q0 339 0 330V312Q0 304 9 304H36V295Q36 286 45 286H107ZM107 143V214H45Q36 214 36 205V196H9Q0 196 0 187V170Q0 161 9 161H36V152Q36 143 45 143H107ZM714 54V875Q714 897 699 913T661 929H196Q174 929 159 913T143 875V54Q143 31 159 16T196 0H661Q683 0 699 16T714 54ZM857 741V759Q857 768 848 768H821V777Q821 786 813 786H750V714H813Q821 714 821 723V732H848Q857 732 857 741ZM857 598V616Q857 625 848 625H821V634Q821 643 813 643H750V571H813Q821 571 821 580V589H848Q857 589 857 598ZM857 455V473Q857 482 848 482H821V491Q821 500 813 500H750V429H813Q821 429 821 437V446H848Q857 446 857 455ZM857 312V330Q857 339 848 339H821V348Q821 357 813 357H750V286H813Q821 286 821 295V304H848Q857 304 857 312ZM857 170V187Q857 196 848 196H821V205Q821 214 813 214H750V143H813Q821 143 821 152V161H848Q857 161 857 170Z",
|
||||
"width": 857.1
|
||||
},
|
||||
"search": [
|
||||
"microchip"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "329960a4f8be0685b3d9ab06a288ed37",
|
||||
"css": "folder-open-empty",
|
||||
"code": 62658,
|
||||
"src": "custom_icons",
|
||||
"selected": false,
|
||||
"svg": {
|
||||
"path": "M0 793V285Q0 249 25 225T85 200H114Q117 167 141 145T199 122H389Q423 122 447 145T474 200H825Q860 200 885 225T910 285V369H976Q1011 369 1031 394T1045 454L946 793Q940 828 910 853T844 878H85Q50 878 25 853T0 793ZM125 793H844Q849 793 855 788T862 777L864 770 956 454H237Q232 454 226 459T219 470L216 478Z",
|
||||
"width": 1046.9
|
||||
},
|
||||
"search": [
|
||||
"folder-open-empty"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Copyright (C) 2022 by original authors @ fontello.com</metadata>
|
||||
<defs>
|
||||
<font id="fontello" horiz-adv-x="1000" >
|
||||
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="attention-circled" unicode="" d="M429 779q116 0 215-58t156-156 57-215-57-215-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58z m71-696v106q0 8-5 13t-12 5h-107q-8 0-13-5t-6-13v-106q0-8 6-13t13-6h107q7 0 12 6t5 13z m-1 192l10 346q0 7-6 10-5 5-13 5h-123q-8 0-13-5-6-3-6-10l10-346q0-6 5-10t14-4h103q8 0 13 4t6 10z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="warning" unicode="" d="M991 186q64-107 12-199-52-93-177-93l-625 0q-126 0-177 93-53 92 11 199l309 513q62 107 170 107 106 0 169-107z m-477-112q34 0 57 23t23 57-23 58-57 24-58-24-23-58 23-57 58-23z m85 387q5 13 5 32 0 38-26 64t-64 27-65-27-26-64q0-17 6-34l72-178q5-9 13-9t11 9q74 178 74 180z" horiz-adv-x="1026" />
|
||||
|
||||
<glyph glyph-name="warning-empty" unicode="" d="M514 701q-49 0-81-55l-308-513q-32-55-11-95t87-40l625 0q65 0 87 40t-12 95l-307 513q-33 55-80 55z m0 105q106 0 169-107l308-513q63-105 12-199-52-93-177-93l-625 0q-123 0-177 93-53 92 11 199l309 513q62 107 170 107z m-69-652q0 69 69 69 67 0 67-69 0-67-67-67-69 0-69 67z m146 313q0-14-6-29l-71-179q-44 108-73 179-6 15-6 29 0 32 23 55t56 24 55-24 22-55z" horiz-adv-x="1026" />
|
||||
|
||||
<glyph glyph-name="attention" unicode="" d="M571 83v106q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-106q0-8 5-13t12-6h108q7 0 12 6t5 13z m-1 208l10 257q0 6-5 10-7 6-14 6h-122q-6 0-14-6-5-4-5-12l9-255q0-5 6-9t13-3h103q8 0 14 3t5 9z m-7 522l428-786q20-35-1-70-9-17-26-26t-35-10h-858q-18 0-35 10t-26 26q-21 35-1 70l429 786q9 17 26 27t36 10 36-10 27-27z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="error" unicode="" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m137 0q0-150 106-257t257-106 257 106 106 257-106 257-257 106-257-106-106-257z m97-98l0 196 532 0 0-196-532 0z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="error-alt" unicode="" d="M0 350q0 207 147 354t353 146 354-146 146-354-146-354-354-146-353 146-147 354z m164-133l672 0 0 266-672 0 0-266z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="ok-circled2" unicode="" d="M654 396l-236-235q-11-11-25-11t-25 11l-164 164q-11 11-11 25t11 25l57 57q10 11 25 11t25-11l82-82 153 154q11 10 25 10t26-10l57-57q10-11 10-26t-10-25z m78-46q0 83-41 152t-110 111-152 41-153-41-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152z m125 0q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="ok-circled" unicode="" d="M717 440q0 16-10 26l-51 50q-11 11-25 11t-25-11l-228-227-126 126q-11 11-25 11t-25-11l-51-50q-10-10-10-26 0-15 10-25l202-202q10-10 25-10 15 0 26 10l303 303q10 10 10 25z m140-90q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="ok" unicode="" d="M933 534q0-22-16-38l-404-404-76-76q-16-15-38-15t-38 15l-76 76-202 202q-15 16-15 38t15 38l76 76q16 16 38 16t38-16l164-165 366 367q16 16 38 16t38-16l76-76q16-15 16-38z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="docs" unicode="" d="M946 636q23 0 38-16t16-38v-678q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v160h-303q-23 0-38 16t-16 38v375q0 22 11 49t27 42l228 228q15 16 42 27t49 11h232q23 0 38-16t16-38v-183q38 23 71 23h232z m-303-119l-167-167h167v167z m-357 214l-167-167h167v167z m109-361l176 176v233h-214v-233q0-22-15-37t-38-16h-233v-357h286v143q0 22 11 49t27 42z m534-449v643h-215v-232q0-22-15-38t-38-15h-232v-358h500z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="doc-text" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0 13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="code" unicode="" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 261q-6 5-6 12t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l209 720q2 8 8 11t13 2l35-10q7-2 11-9t1-13z m367-363l-260-261q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-12z" horiz-adv-x="1071.4" />
|
||||
|
||||
<glyph glyph-name="attention-alt" unicode="" d="M286 154v-125q0-15-11-25t-25-11h-143q-14 0-25 11t-11 25v125q0 14 11 25t25 10h143q15 0 25-10t11-25z m17 589l-16-429q-1-14-12-25t-25-10h-143q-14 0-25 10t-12 25l-15 429q-1 14 10 25t24 11h179q14 0 25-11t10-25z" horiz-adv-x="357.1" />
|
||||
|
||||
<glyph glyph-name="ok-squared" unicode="" d="M382 125l343 343q11 10 11 25t-11 25l-57 57q-11 11-25 11t-25-11l-261-261-118 118q-10 11-25 11t-25-11l-57-57q-10-10-10-25t10-25l200-200q11-10 25-10t25 10z m475 493v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="doc-inv" unicode="" d="M571 564v264q13-8 21-16l227-228q8-7 16-20h-264z m-71-18q0-22 16-37t38-16h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="doc-text-inv" unicode="" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-37t38-16z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="file-code" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-13l-102-136 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 22z m447-167q8-11 0-22l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 136q-4 6-3 13t7 12l28 21q6 4 14 3t11-7z m-346-258q-7 1-11 8t-3 13l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,56 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="icon:navHome" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<path d="m16 0l-16 16h4v16h24v-16h4l-16-16zm8 28h-6v-6h-4v6h-6v-14l8-6 8 5.7v14z"/>
|
||||
</symbol>
|
||||
<symbol id="icon:navFilter" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M400.627447 927.694607c-25.929556 0-46.966685-21.037129-46.966685-46.966685L353.660762 542.308283 74.339102 172.687014c-11.313673-14.065344-13.514805-33.45188-5.748934-49.719378 7.828292-16.267499 24.339338-26.663266 42.380226-26.663266l801.437042 0c17.673521 0 33.879622 9.968026 41.891086 25.746384s6.482645 34.736129-3.975545 48.985668L669.540036 541.14683l0 211.700563c0 25.929556-21.037129 46.966685-46.966685 46.966685-25.929556 0-46.966685-21.037129-46.966685-46.966685L575.606667 525.796214c0-9.968026 3.180436-19.691481 9.051143-27.764344l235.101529-307.793108L208.94173 190.238762l228.317009 306.142515c6.665817 8.317433 10.335393 18.7132 10.335393 29.41596l0 354.931708C447.594131 906.657478 426.557002 927.694607 400.627447 927.694607z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:navArrow" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M959.391517 255.877715 511.696078 703.573153 64.00064 255.877715Z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:backTop" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M849.513502 524.698207l-308.405045-310.430168c-6.833639-6.867408-15.761985-10.1645-24.656563-10.095939-1.201361-0.103354-2.231831-0.686638-3.432169-0.686638-5.015224 0-9.68457 1.167592-13.978363 3.090385-4.325515 1.647523-8.445346 4.155646-11.948123 7.658424l-278.290167 277.807167c-13.426801 13.392008-13.46057 35.130102-0.034792 48.556902 6.695492 6.729262 15.487739 10.096962 24.312732 10.096962 8.7902 0 17.546631-3.367701 24.27794-10.028401l221.320665-220.97581 0 604.927459c0 18.99154 15.384385 34.340109 34.340109 34.340109 18.952654 0 34.340109-15.34857 34.340109-34.340109L547.359834 318.007751l253.460666 255.111259c6.696516 6.730285 15.557324 10.129708 24.347524 10.129708s17.512862-3.331885 24.208355-9.994632C862.872764 559.897893 862.90551 538.123984 849.513502 524.698207zM890.757858 134.805242 135.282614 134.805242c-18.954701 0-34.340109-15.384385-34.340109-34.340109s15.384385-34.340109 34.340109-34.340109l755.475244 0c18.98847 0 34.339086 15.384385 34.339086 34.340109S909.745305 134.805242 890.757858 134.805242z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:navStart" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M102.548584 218.264049l818.644959 0 0 102.33062-818.644959 0 0-102.33062ZM102.548584 461.299271l818.644959 0 0 102.33062-818.644959 0 0-102.33062ZM102.548584 704.334493l818.644959 0 0 102.33062-818.644959 0 0-102.33062Z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:navClose" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M588.99845 509.618605l412.775194-412.775194c19.051163-19.051163 19.051163-57.153488 0-82.555039-19.051163-19.051163-57.153488-19.051163-82.555039 0L512.793798 427.063566 100.018605 20.63876c-19.051163-19.051163-57.153488-19.051163-82.555039 0-19.051163 19.051163-19.051163 57.153488 0 82.555039L430.23876 509.618605l-412.775194 412.775194c-19.051163 19.051163-19.051163 57.153488 0 82.555039C30.164341 1011.299225 49.215504 1017.649612 61.916279 1017.649612s31.751938-6.350388 38.102326-19.051163L512.793798 592.173643l412.775194 412.775194c12.700775 12.700775 25.40155 19.051163 38.102326 19.051163 12.700775 0 31.751938-6.350388 38.102326-19.051163 19.051163-19.051163 19.051163-57.153488 0-82.555039L588.99845 509.618605z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:linkAnchor" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M616.601336 477.134935c0-96.148827-76.528977-174.34477-170.628122-174.34477l-138.339742 0.027629c-98.788957 0.007163-179.177845 78.195943-179.177845 174.330444l0.017396 69.698408c-0.024559 96.15292 80.406285 174.359097 179.205475 174.359097l38.696324 0.00307c19.815301-0.024559 35.851533-15.624862 35.848463-34.882462 0.00307-19.250436-16.032138-34.853809-35.823903-34.853809l-38.749536 0c-59.268872-0.007163-109.451808-46.925752-109.465111-104.604406l0-69.733201c0-57.668421 50.154283-104.58394 109.462041-104.594173l138.329509-0.024559c56.472176 0.024559 100.867292 46.911426 100.890828 104.618732l1.496074 34.872229c0 9.627265 3.810792 18.365276 9.969049 24.65554 6.178723 6.310729 14.728446 10.209526 24.153096 10.206456 18.84623 0.00307 34.118052-15.600303 34.118052-34.860972L616.601336 477.134935zM895.526977 477.152331c0.024559-96.148827-80.406285-174.355003-179.205475-174.359097l-38.696324-0.00307c-19.815301 0.024559-35.851533 15.627932-35.851533 34.882462 0 19.254529 16.036231 34.853809 35.826973 34.857902l38.745443 0c59.268872 0.00307 109.451808 46.922682 109.469204 104.604406l0 69.733201c0 57.668421-50.154283 104.58394-109.462041 104.591103l-138.329509 0.027629c-56.472176-0.024559-100.867292-46.911426-100.890828-104.618732l-1.496074-34.872229c0-9.630335-3.810792-18.365276-9.969049-24.65554-6.181793-6.314823-14.728446-10.209526-24.153096-10.205433-18.84623-0.007163-34.119075 15.600303-34.119075 34.860972l0 34.872229c0 96.145757 76.532047 174.340677 170.631192 174.340677l138.339742-0.024559c98.788957-0.007163 179.177845-78.199013 179.173752-174.330444L895.526977 477.152331z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:loading" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M955.733333 765.866667c0 0 0 2.133333 0 2.133333-12.8 21.333333-38.4 27.733333-57.6 14.933333-19.2-10.666667-27.733333-36.266667-17.066667-57.6l0 0c36.266667-64 57.6-136.533333 57.6-213.333333s-21.333333-151.466667-57.6-213.333333l0 0c-10.666667-19.2-4.266667-44.8 17.066667-57.6 21.333333-12.8 46.933333-4.266667 57.6 14.933333 0 0 0 2.133333 0 2.133333 42.666667 74.666667 68.266667 162.133333 68.266667 253.866667S998.4 691.2 955.733333 765.866667zM768 955.733333C768 955.733333 765.866667 955.733333 768 955.733333c-76.8 42.666667-164.266667 68.266667-256 68.266667s-179.2-25.6-253.866667-68.266667c0 0-2.133333 0-2.133333 0-21.333333-12.8-27.733333-38.4-14.933333-57.6 12.8-21.333333 38.4-27.733333 57.6-14.933333 0 0 0 0 2.133333 0l0 0C362.666667 917.333333 435.2 938.666667 512 938.666667s149.333333-21.333333 211.2-57.6l0 0c0 0 0 0 2.133333 0 21.333333-12.8 46.933333-4.266667 57.6 14.933333C795.733333 917.333333 789.333333 942.933333 768 955.733333zM727.466667 142.933333 727.466667 142.933333C663.466667 106.666667 590.933333 85.333333 512 85.333333s-151.466667 21.333333-213.333333 57.6l0 0c-19.2 10.666667-44.8 4.266667-57.6-17.066667C228.266667 106.666667 234.666667 81.066667 256 68.266667c0 0 2.133333 0 2.133333 0C332.8 25.6 420.266667 0 512 0s179.2 25.6 253.866667 68.266667c0 0 2.133333 0 2.133333 0 21.333333 12.8 27.733333 38.4 14.933333 57.6C772.266667 147.2 746.666667 153.6 727.466667 142.933333zM125.866667 782.933333C106.666667 795.733333 81.066667 789.333333 68.266667 768c0 0 0-2.133333 0-2.133333C25.6 691.2 0 603.733333 0 512s25.6-179.2 68.266667-253.866667c0 0 0-2.133333 0-2.133333 12.8-21.333333 38.4-27.733333 57.6-14.933333 21.333333 12.8 27.733333 38.4 14.933333 57.6 0 0 0 0 0 2.133333l0 0C106.666667 362.666667 85.333333 435.2 85.333333 512s21.333333 149.333333 57.6 211.2l0 0c0 0 0 0 0 2.133333C153.6 746.666667 147.2 772.266667 125.866667 782.933333z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:search" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M941.427376 910.59516c-16.080234 16.010649-69.712735 18.382673-85.792968 2.378164L631.709429 684.444491c61.748343-50.087768 70.796416-148.074454 70.796416-199.626573 0-148.759045-109.305475-260.410961-257.868045-260.410961-148.56871 0-256.612449 109.908202-256.612449 258.673387 0 148.752906 102.096283 261.730003 250.664993 261.730003 30.759561 0 44.760436 0.037862 72.293513-9.466606l0.38681 1.483794c7.000438-3.544733 77.435627-12.098549 77.435627 60.962443 0 20.455891-15.623839 41.425482-34.932604 48.178279-32.66905 11.420097-75.431993 16.936741-108.60144 16.936741-211.592093 0-381.180536-169.367409-381.180536-380.807029 0-211.370035 169.589466-382.79122 381.180536-382.79122 211.667817 0 381.180536 171.421184 381.180536 382.79122 0 65.812915-12.979616 127.682008-40.201607 179.176822l157.154249 159.189605C959.423239 836.475046 957.439048 894.660236 941.427376 910.59516L941.427376 910.59516zM941.427376 910.59516"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:contents" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path d="M173.311 317.051l677.38 0c20.782 0 37.632-22.186 37.632-49.552 0-27.363-16.85-49.551-37.632-49.551l-677.38 0c-20.782 0-37.633 22.188-37.633 49.551C135.678 294.865 152.528 317.051 173.311 317.051zM850.69 482.948l-677.38 0c-20.782 0-37.633 22.188-37.633 49.551 0 27.366 16.851 49.553 37.633 49.553l677.38 0c20.782 0 37.632-22.187 37.632-49.553C888.322 505.136 871.473 482.948 850.69 482.948zM865.307 706.948l-414.29 0c-12.71 0-23.017 22.188-23.017 49.551 0 27.366 10.307 49.553 23.017 49.553l414.29 0c12.71 0 23.016-22.187 23.016-49.553C888.322 729.136 878.017 706.948 865.307 706.948z"></path>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="icon:footnoteBack" viewBox="0 0 32 32" style="fill:currentColor">
|
||||
<g transform="scale(0.03125, 0.03125)">
|
||||
<path transform="rotate(-118.97699737548828 544.0010986328125,517.0001831054688)" d="m679.72461,226.14308l0,-218.14282l271.44708,290.8571l-271.44708,290.85712l0,-218.14285c0,0 -407.17047,0 -407.17047,218.14285s339.30872,290.85706 339.30872,290.85706l0,145.42859c0,0 -475.03235,-72.71429 -475.03235,-436.28564c0.00006,-290.85712 339.30887,-363.5714 542.8941,-363.5714z"/>
|
||||
</g>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 958 B |
@@ -1,599 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 文档加载与渲染模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;
|
||||
(function (win, doc, $) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var hljs = win.hljs;
|
||||
var marked = win.marked;
|
||||
var URL_ENCODE_NAME = 'AMWikiUrlEncode'; //记录url编码的键名
|
||||
|
||||
/**
|
||||
* 文档管理
|
||||
* @constructor
|
||||
*/
|
||||
var Docs = function () {
|
||||
this.$e = {
|
||||
win: $(win),
|
||||
//markdown 文档内容容器
|
||||
view: $('#view'),
|
||||
//网页 title 标签
|
||||
title: $('title'),
|
||||
//目录悬浮窗标题
|
||||
contentsTitle: $('#contentsTitle')
|
||||
};
|
||||
this.data = {
|
||||
//记录页面宽度
|
||||
pageWidth: 0
|
||||
};
|
||||
this._initUrlEncode();
|
||||
this._initHashEvent();
|
||||
};
|
||||
|
||||
/**
|
||||
* 初始化url编码类型标记
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._initUrlEncode = function () {
|
||||
/*
|
||||
* 由于win与linux采用不同编码保存中文文件名
|
||||
* 记录浏览器打开当前域名的wiki时服务器中文文件名的编码类型
|
||||
*/
|
||||
if (!localStorage[URL_ENCODE_NAME]) {
|
||||
localStorage[URL_ENCODE_NAME] = 'utf8';
|
||||
} else if (localStorage[URL_ENCODE_NAME] != 'utf8' && localStorage[URL_ENCODE_NAME] != 'gbk') {
|
||||
localStorage[URL_ENCODE_NAME] = 'utf8';
|
||||
}
|
||||
//旧版本记录移除
|
||||
delete localStorage.urlEcode
|
||||
};
|
||||
|
||||
/**
|
||||
* 修正移动端hash变化时滚动位置
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._initHashEvent = function () {
|
||||
var that = this;
|
||||
this.data.pageWidth = this.$e.win.width();
|
||||
this.$e.win.on('resize', function () {
|
||||
that.data.pageWidth = that.$e.win.width();
|
||||
});
|
||||
this.$e.win.on('hashchange', function (e) {
|
||||
var hash = location.hash.split('#')[1];
|
||||
if (that.data.pageWidth <= 720) {
|
||||
that.$e.view.find('h1,h2,h3').each(function (index, element) {
|
||||
var $title = $(element);
|
||||
var text = $title.text().replace(/\s+/g, '');
|
||||
if (hash == text) {
|
||||
that.$e.win.scrollTop($title.offset().top - 55);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 转换链接文本
|
||||
* @param {String} str
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._tramsformLinkText = function (str) {
|
||||
return str
|
||||
.replace(/^\s+|\s+$/g, '') //去除首尾空格
|
||||
.replace(/'/g, ''') //转义单引号
|
||||
.replace(/"/g, '"') //转义双引号,由于双引号无法正确传递给html属性,当作为hash时将删除处理
|
||||
.replace(/\(/g, '(') //转义左圆括号
|
||||
.replace(/\)/g, ')') //转义右圆括号
|
||||
.replace(/\[/g, '[') //转义左中括号
|
||||
.replace(/\]/g, ']') //转义右中括号
|
||||
.replace(/\s/g, ' ');//转义空格
|
||||
};
|
||||
|
||||
/**
|
||||
* 设置文档h1、h2、h3描记
|
||||
* @returns {string}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setTitlesAnchor = function () {
|
||||
var that = this;
|
||||
var $titles = null;
|
||||
var hash = '';
|
||||
var contentsMd = ''; //提取目录为markdown字符串
|
||||
if (location.hash && location.hash.length > 1) {
|
||||
hash = location.hash.split('#')[1];
|
||||
}
|
||||
var anchorHtml = '<a class="anchor" href="#{title}" name="{title}">' +
|
||||
'<svg><use xlink:href="#icon:linkAnchor"></use></svg></a>';
|
||||
$titles = that.$e.view.find('h1,h2,h3');
|
||||
$titles.each(function (index, element) {
|
||||
var $this = $(element);
|
||||
var text1 = that._tramsformLinkText($this.text());
|
||||
var text2 = text1.replace(/"/g, ''); //删除双引号
|
||||
//提取目录
|
||||
if ($this.is('h2')) {
|
||||
contentsMd += '1. [' + text1 + '](#' + text2 + ' "' + text2 + '")\n';
|
||||
} else if ($this.is('h3')) {
|
||||
contentsMd += '\t1. [' + text1 + '](#' + text2 + ' "' + text2 + '")\n';
|
||||
}
|
||||
//设置描记
|
||||
$this.prepend(anchorHtml.replace(/{title}/g, text2));
|
||||
//首次打开页面滚动位置修正
|
||||
if (hash == $this.text().replace(/"/g, '')) {
|
||||
if (that.data.pageWidth <= 720) {
|
||||
that.$e.win.scrollTop($this.offset().top - 55);
|
||||
} else {
|
||||
that.$e.win.scrollTop($this.offset().top);
|
||||
}
|
||||
}
|
||||
});
|
||||
if (contentsMd.indexOf('\t') == 0) {
|
||||
contentsMd = '1.  \n' + contentsMd;
|
||||
}
|
||||
return contentsMd;
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建脚注
|
||||
* @param {String} text
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setFootnote = function (text) {
|
||||
var footnotes = [];
|
||||
var noteReg = /\[\^([ a-zA-Z\d]+)]/g;
|
||||
var footReg = /\[\^([ a-zA-Z\d]+)]: ?([\S\s]+?)(?=\[\^(?:[ a-zA-Z\d]+)]|\n\n|$)/g;
|
||||
var templates = $.trim($('#template\\:footnote').text()).split(/[\r\n]+\s*/g);
|
||||
templates[4] += templates[5] + templates[6] + templates[7] + templates[8];
|
||||
var html = '';
|
||||
//提取脚注内容
|
||||
text = text.replace(footReg, function (match, s1, s2, index) {
|
||||
var title = '';
|
||||
s2 = s2.replace(/"(.*?)"\s*$/, function (m, ss1) {
|
||||
title = ss1;
|
||||
return '';
|
||||
});
|
||||
footnotes.push({
|
||||
index: index,
|
||||
note: s1,
|
||||
content: s2,
|
||||
title: title,
|
||||
used: false
|
||||
});
|
||||
//从页面上删除底部脚注内容
|
||||
return '';
|
||||
});
|
||||
//将脚注的标记转为序号
|
||||
text = text.replace(noteReg, function (match, s1) {
|
||||
for (var i = 0, foot; foot = footnotes[i]; i++) {
|
||||
if (foot.note == s1) {
|
||||
foot.used = true;
|
||||
return templates[0].replace(/{{index}}/g, i + 1 + '').replace('{{title}}', foot.title);
|
||||
}
|
||||
}
|
||||
//当脚注的正文不存在,视标记文本为正文
|
||||
var length = footnotes.push({
|
||||
index: 0,
|
||||
note: s1,
|
||||
content: s1,
|
||||
used: true
|
||||
});
|
||||
return templates[0].replace(/{{index}}/g, length + '');
|
||||
});
|
||||
//生成底部脚注html
|
||||
if (footnotes.length >= 1) {
|
||||
for (var i = 0, foot; foot = footnotes[i]; i++) {
|
||||
if (foot.used) {
|
||||
html += templates[2]
|
||||
.replace('{{index}}', i + 1)
|
||||
.replace('{{content}}', foot.content)
|
||||
.replace('{{back}}', templates[4].replace('{{index}}', i + 1));
|
||||
} else {
|
||||
html += templates[3].replace('{{content}}', foot.content);
|
||||
}
|
||||
}
|
||||
html = templates[1].replace('{{list}}', html);
|
||||
}
|
||||
return text + '\n<br>' + html;
|
||||
};
|
||||
|
||||
/**
|
||||
* 设置js代码块注释显示隐藏
|
||||
* @param {Object} $elm
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setJSCommentDisable = function ($elm) {
|
||||
var $disBtn = $('<div class="lang-off-js-comment">注<i>/</i></div>');
|
||||
$disBtn.on('click', function () {
|
||||
var $this = $(this);
|
||||
if ($this.hasClass('on')) {
|
||||
$this.removeClass('on');
|
||||
$elm.find('.hljs-comment').show();
|
||||
} else {
|
||||
$this.addClass('on');
|
||||
$elm.find('.hljs-comment').hide();
|
||||
}
|
||||
});
|
||||
$elm.prepend($disBtn);
|
||||
};
|
||||
|
||||
/**
|
||||
* 复制代码
|
||||
* @param {Object} $elm
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._copyCode = function ($elm) {
|
||||
var $copyBtn = $('<div class="copy-code icon-docs"></div>');
|
||||
$copyBtn.on('click', function () {
|
||||
var $this = $(this);
|
||||
navigator.clipboard.writeText($elm.text())
|
||||
.then((message) => {
|
||||
console.log('clipboard:复制成功');
|
||||
$copyBtn.removeClass('icon-docs').addClass('icon-ok');
|
||||
setTimeout(() => {
|
||||
$copyBtn.removeClass('icon-ok').addClass('icon-docs');
|
||||
}, 1000);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('clipboard:复制失败');
|
||||
layer.tips('复制失败', $this, {
|
||||
tips: [4, '#3595CC'],
|
||||
time: 1000
|
||||
});
|
||||
});
|
||||
});
|
||||
$elm.prepend($copyBtn);
|
||||
};
|
||||
|
||||
/**
|
||||
* 解析流程图
|
||||
* @param {Object} $elm
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._createFlowChart = function ($elm) {
|
||||
var code = $elm.text();
|
||||
$elm.text('');
|
||||
var id = 'flowChart' + parseInt(Math.random() * 500);
|
||||
$elm.attr('id', id);
|
||||
var chart = flowchart.parse(code);
|
||||
chart.drawSVG(id, {
|
||||
'line-width': 1.3,
|
||||
'line-length': 56,
|
||||
'line-color': '#666',
|
||||
'text-margin': 10,
|
||||
'font-size': 12,
|
||||
'font': 'normal',
|
||||
'font-family': 'Helvetica',
|
||||
'font-weight': 'normal',
|
||||
'font-color': 'black',
|
||||
'element-color': '#888',
|
||||
'fill': '#fff',
|
||||
'yes-text': '是',
|
||||
'no-text': '否',
|
||||
'arrow-end': 'block-wide-long',
|
||||
'symbols': {},
|
||||
'flowstate': {}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 解析 Markdown 目录
|
||||
* @param {String} html
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setTOC = function (html) {
|
||||
return html.replace(/\[(TOC|MENU)]/g, '<blockquote class="markdown-contents"></blockquote>');
|
||||
};
|
||||
|
||||
/**
|
||||
* 解析 Markdown 自定义图片大小与对齐方式
|
||||
* @param {String} html
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setImgResize = function (html) {
|
||||
return html.replace(/<img(.*?)src="(.*?)=(\d*[-x×]\d*)(-[lrc])?"/g, function (m, s1, s2, s3, s4) {
|
||||
var imgHtml = '<img' + s1 + 'src="' + s2 + '"';
|
||||
var imgSize = s3.split(/[-x×]/);
|
||||
var align = ({'-l': 'left', '-r': 'right', '-c': 'center'})[s4];
|
||||
if (imgSize[0]) {
|
||||
imgHtml += ' width="' + imgSize[0] + '"';
|
||||
}
|
||||
if (imgSize[1]) {
|
||||
imgHtml += ' height="' + imgSize[1] + '"';
|
||||
}
|
||||
if (align) {
|
||||
imgHtml += ' align="' + align + '"';
|
||||
}
|
||||
return imgHtml;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 解析 markdown 复选框
|
||||
* @param {String} html
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setCheckbox = function (html) {
|
||||
return html.replace(/\[([√×Xx\s\-_])\]\s(.*?)([<\n\r])/g, function (m, s1, s2, s3, index) {
|
||||
var checkboxHtml = '<input type="checkbox" id="checkbox' + index + '"';
|
||||
checkboxHtml += /\s/.test(s1) ? '>' : 'checked="true">';
|
||||
checkboxHtml += '<label for="checkbox' + index + '">' + s2 + '</label>';
|
||||
return checkboxHtml + s3;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 解析 markdown 文字飘红
|
||||
* @param {String} html
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._setRedText = function (html) {
|
||||
return html.replace(/==(.*?)==/g, function (m, s1) {
|
||||
return '<mark>' + s1 + '</mark>';
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建目录
|
||||
* @param {String} contents - markdown 目录
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._createContents = function (contents) {
|
||||
var $contents = $('.markdown-contents').html(marked.parse(contents));
|
||||
$('blockquote').each(function () {
|
||||
var $this = $(this);
|
||||
var $links = $this.find('ol>li>a');
|
||||
//至少2条链接才视为目录
|
||||
if ($links.length > 1) {
|
||||
$this.addClass('markdown-contents');
|
||||
$contents = $contents.add($this);
|
||||
}
|
||||
});
|
||||
//自带序号的目录,不再额外显示一层序号
|
||||
$contents.find('ol').each(function () {
|
||||
var $this = $(this);
|
||||
var $links = $this.children('li').children('a');
|
||||
var text1 = $links.eq(0).text(),
|
||||
text2 = $links.eq(1).text();
|
||||
var conditions = [
|
||||
//普通数字类型
|
||||
/^[\((]?(\d+\.?)+[^\d]{2,}/,
|
||||
//汉字序号类型
|
||||
/^[\((【第]?[一二三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+/,
|
||||
//英文序号类型
|
||||
/^(chapter)|(section)|(part)|(step)/i,
|
||||
//罗马序号类型
|
||||
/^[ⅠⅡⅢⅣIⅤⅥⅦⅧⅨⅩⅪⅫLCDM]+\.?/
|
||||
];
|
||||
for (var i = 0, cond; cond = conditions[i]; i++) {
|
||||
if (cond.test(text1) && cond.test(text2)) {
|
||||
$this.addClass('unindex');
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
//没写序号的目录,创建序号
|
||||
var setIndex = function ($elm, index1) {
|
||||
if ($elm.length == 0) {
|
||||
return;
|
||||
}
|
||||
$elm.children('li').each(function (index2) {
|
||||
var $this = $(this);
|
||||
if (!$elm.hasClass('unindex')) {
|
||||
var index = typeof index1 == 'number' ? (index1 + 1) + '.' + (index2 + 1): (index2 + 1) + '.';
|
||||
$this.prepend('<i>' + index + '</i>');
|
||||
}
|
||||
setIndex($this.children('ol'), index2);
|
||||
});
|
||||
};
|
||||
$contents.children('ol').each(function () {
|
||||
setIndex($(this));
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 编码 url
|
||||
* 由于服务器可能存在 GBK 或 UTF-8 两种编码,中文路径编码不对需要切换才能访问
|
||||
* @param {String} path
|
||||
* @param {String} type - 是否需要编码类型反转, GBK、UTF-8切换
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Docs.prototype._encodeUrl = function (path, type) {
|
||||
var url = '';
|
||||
if (typeof AWConfig.libraryPrefix == 'string' && AWConfig.libraryPrefix.length > 0) {
|
||||
url = AWConfig.libraryPrefix.replace(/\\/g, '/').replace(/\/?&/, '/');
|
||||
}
|
||||
path = path.replace(/\\/g, '/');
|
||||
var paths = [];
|
||||
//正常编码
|
||||
if (type == 'normal') {
|
||||
if (localStorage[URL_ENCODE_NAME] == 'utf8') {
|
||||
url += encodeURI(path);
|
||||
} else if (localStorage[URL_ENCODE_NAME] == 'gbk') {
|
||||
paths = path.split('/').map(function (path) {
|
||||
return GBK.encode(path);
|
||||
});
|
||||
url += paths.join('/');
|
||||
}
|
||||
}
|
||||
//反转编码
|
||||
else if (type == 'reverse') {
|
||||
if (localStorage[URL_ENCODE_NAME] == 'utf8') {
|
||||
paths = path.split('/').map(function (path) {
|
||||
return GBK.encode(path);
|
||||
});
|
||||
url += paths.join('/');
|
||||
} else if (localStorage[URL_ENCODE_NAME] == 'gbk') {
|
||||
url += encodeURI(path);
|
||||
}
|
||||
}
|
||||
url += '.md?t=' + (new Date()).getTime();
|
||||
if (url.indexOf('undefined.md') !== -1) return null;
|
||||
return url;
|
||||
};
|
||||
|
||||
/**
|
||||
* 渲染文档
|
||||
* @param {String} content - 需要渲染的文档内容
|
||||
* @public
|
||||
*/
|
||||
Docs.prototype.renderDoc = function (content) {
|
||||
var that = this;
|
||||
var html = '';
|
||||
this.cleanView();
|
||||
//增加"\"符转义功能
|
||||
/*content = content.replace(/\\(.)/g, function (m, s1) {
|
||||
return '&#' + s1.charCodeAt(0) + ';';
|
||||
});*/
|
||||
//创建脚注
|
||||
content = this._setFootnote(content);
|
||||
//编译 markdown
|
||||
html = marked.parse(content);
|
||||
//创建目录标记,和悬浮窗格式统一
|
||||
html = this._setTOC(html);
|
||||
//自定义图片大小与对齐方式
|
||||
html = this._setImgResize(html);
|
||||
//复选框
|
||||
html = this._setCheckbox(html);
|
||||
//文字飘红
|
||||
html = this._setRedText(html);
|
||||
//填充到页面
|
||||
this.$e.view.html(html);
|
||||
/*this.$e.view.find('pre code').each(function (i, element) {
|
||||
var $elm = $(element);
|
||||
var src = $elm.attr('src') || '';
|
||||
$elm.attr('src', src.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) {
|
||||
return String.fromCharCode(parseInt(c, b ? 16 : 10));
|
||||
}));
|
||||
});*/
|
||||
//功能化代码块
|
||||
this.$e.view.find('pre code').each(function (i, element) {
|
||||
var $elm = $(element);
|
||||
var className = $elm.attr('class') || '';
|
||||
//创建流程图
|
||||
if (className.indexOf('lang-flow') >= 0) {
|
||||
that._createFlowChart($elm);
|
||||
}
|
||||
//创建语法高亮
|
||||
else if (className.indexOf('lang') >= 0) {
|
||||
// hljs.highlightElement(element);
|
||||
let nameList = className.split('-');
|
||||
let language;
|
||||
if (nameList.length >= 2) {
|
||||
if (nameList.length >= 3) {
|
||||
nameList[1] += '-' + nameList[2];
|
||||
}
|
||||
language = nameList[1];
|
||||
}
|
||||
if (!['arduino', 'bash', 'c', 'cpp',
|
||||
'css', 'javascript', 'json', 'lua',
|
||||
'node-repl', 'python', 'python-repl', 'shell',
|
||||
'xml'].includes(language)) {
|
||||
language = null;
|
||||
}
|
||||
if (language) {
|
||||
element.innerHTML = hljs.highlight(element.outerText, {
|
||||
language,
|
||||
ignoreIllegals: false
|
||||
}).value;
|
||||
}
|
||||
that._copyCode($elm);
|
||||
}
|
||||
//创建js注释开关
|
||||
className = $elm.attr('class') || '';
|
||||
if (className.indexOf('javascript') >= 0) {
|
||||
that._setJSCommentDisable($elm);
|
||||
}
|
||||
});
|
||||
//设置网页title
|
||||
var title = this.$e.view.find('h1').eq(0).text();
|
||||
// this.$e.title.text(title);
|
||||
this.$e.contentsTitle.text(title).attr('href', '#' + title.replace(/"/g, ''));
|
||||
//创建描点
|
||||
var contents = this._setTitlesAnchor();
|
||||
//创建目录
|
||||
this._createContents(contents);
|
||||
};
|
||||
|
||||
/**
|
||||
* 读取文档
|
||||
* @param {String} url
|
||||
* @param {Function} callback
|
||||
* @public
|
||||
*/
|
||||
Docs.prototype.getDoc = function (url, callback) {
|
||||
var that = this;
|
||||
var ajaxData = {
|
||||
type: 'get',
|
||||
url: url,
|
||||
dataType: 'text'
|
||||
};
|
||||
$.ajax(ajaxData)
|
||||
.done(function (data) {
|
||||
//如果请求响应包含html,视为报错
|
||||
if (/^\s*<!(DOCTYPE|doctype)/.test(data)) {
|
||||
return callback('fail');
|
||||
}
|
||||
//成功回调
|
||||
callback('done', data);
|
||||
})
|
||||
//请求失败
|
||||
.fail(function () {
|
||||
callback('fail');
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 加载指定页面
|
||||
* @param {String} path - 页面资源地址
|
||||
* @param {Function} callback - 加载完成后的回调,包含参数:
|
||||
* type - 加载页面最终状态,success、error 两种
|
||||
* content - 加载页面成功时,传递加载的内容
|
||||
* @public
|
||||
*/
|
||||
Docs.prototype.loadPage = function (path, callback) {
|
||||
//console.log(path);
|
||||
var that = this;
|
||||
var url = this._encodeUrl(path, 'normal');
|
||||
this.getDoc(url, function (type, data) {
|
||||
if (type == 'fail') {
|
||||
//如果第一失败,转换url编码类型后发送第二次请求
|
||||
var url = that._encodeUrl(path, 'reverse');
|
||||
that.getDoc(url, function (type) {
|
||||
//第二次仍然失败,视为打开文档失败
|
||||
if (type == 'fail') {
|
||||
callback && callback('error');
|
||||
}
|
||||
//如果第二次才成功,转换保存的编码类型标记
|
||||
else if (type == 'done') {
|
||||
localStorage[URL_ENCODE_NAME] = localStorage[URL_ENCODE_NAME] == 'utf8' ? 'gbk' : 'utf8';
|
||||
callback && callback('success', data);
|
||||
}
|
||||
});
|
||||
} else if (type == 'done') {
|
||||
callback && callback('success', data);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 清理页面
|
||||
* @public
|
||||
*/
|
||||
Docs.prototype.cleanView = function () {
|
||||
this.$e.view.find('.lang-off-js-comment').off('click');
|
||||
this.$e.view.html('');
|
||||
};
|
||||
|
||||
return win.AWDocs = Docs;
|
||||
|
||||
})(window, document, jQuery);
|
||||
@@ -1,155 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 图片查看模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;(function (win, $) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* 图片查看器
|
||||
* @param {Element} _this
|
||||
* @constructor
|
||||
*/
|
||||
var ImgsView = function (_this) {
|
||||
this.$e = {
|
||||
container: $(_this), //文档主容器
|
||||
imgList: null, //页面图片列表
|
||||
imgsView: $('#imgsView'), //图片弹窗层
|
||||
imgsViewInner: null, //图片容器
|
||||
btnPrev: null,
|
||||
btnNext: null
|
||||
};
|
||||
this._data = {
|
||||
winW: 0,
|
||||
winH: 0,
|
||||
curIndex: -1
|
||||
};
|
||||
this._init();
|
||||
};
|
||||
|
||||
/**
|
||||
* 初始化
|
||||
* @private
|
||||
*/
|
||||
ImgsView.prototype._init = function () {
|
||||
var that = this;
|
||||
this.$e.imgsViewInner = this.$e.imgsView.find('#imgsViewInner');
|
||||
this.$e.btnPrev = this.$e.imgsView.find('.prev');
|
||||
this.$e.btnNext = this.$e.imgsView.find('.next');
|
||||
this._data.winW = $(win).width();
|
||||
this._data.winH = $(win).height();
|
||||
this.$e.container.on('click', function (e) {
|
||||
if (e.target.tagName.toLowerCase() == 'img') {
|
||||
//抓取图片列表
|
||||
that.$e.imgList = that.$e.container.find('img');
|
||||
that._data.curIndex = that.$e.imgList.index(e.target);
|
||||
that.open();
|
||||
}
|
||||
});
|
||||
this.$e.imgsView.children('.imgsv-background').on('click', function () {
|
||||
that.close();
|
||||
});
|
||||
this.$e.imgsView.find('.original').on('click', function () {
|
||||
that.resizeAs('org');
|
||||
});
|
||||
this.$e.imgsView.find('.suit').on('click', function () {
|
||||
that.resizeAs('suit');
|
||||
});
|
||||
this.$e.imgsView.find('.prev').on('click', function () {
|
||||
var $this = $(this);
|
||||
if (!$this.hasClass('off')) {
|
||||
that.playTo(that._data.curIndex - 1);
|
||||
}
|
||||
});
|
||||
this.$e.imgsView.find('.next').on('click', function () {
|
||||
var $this = $(this);
|
||||
if (!$this.hasClass('off')) {
|
||||
that.playTo(that._data.curIndex + 1);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 显示图片浏览弹层
|
||||
* @public
|
||||
*/
|
||||
ImgsView.prototype.open = function () {
|
||||
var that = this;
|
||||
this.playTo(this._data.curIndex);
|
||||
this.$e.imgsView.fadeIn(80);
|
||||
setTimeout(function () {
|
||||
that.$e.imgsView.addClass('on');
|
||||
}, 50);
|
||||
};
|
||||
|
||||
/**
|
||||
* 关闭图片浏览弹层
|
||||
* @public
|
||||
*/
|
||||
ImgsView.prototype.close = function () {
|
||||
var that = this;
|
||||
this.$e.imgsView.removeClass('on');
|
||||
setTimeout(function () {
|
||||
that.$e.imgsView.fadeOut(50);
|
||||
}, 200);
|
||||
that.$e.imgList = null;
|
||||
that._data.curIndex = -1;
|
||||
};
|
||||
|
||||
/**
|
||||
* 切换图片
|
||||
* @param {Number} index
|
||||
* @public
|
||||
*/
|
||||
ImgsView.prototype.playTo = function (index) {
|
||||
if (index == 0) {
|
||||
this.$e.btnPrev.addClass('off');
|
||||
} else {
|
||||
this.$e.btnPrev.removeClass('off');
|
||||
}
|
||||
if (index == this.$e.imgList.length - 1) {
|
||||
this.$e.btnNext.addClass('off');
|
||||
} else {
|
||||
this.$e.btnNext.removeClass('off');
|
||||
}
|
||||
this.$e.imgCur = this.$e.imgList.eq(index).clone().removeAttr('align');
|
||||
this.resizeAs('suit');
|
||||
this.$e.imgsViewInner.html(this.$e.imgCur);
|
||||
this._data.curIndex = index;
|
||||
};
|
||||
|
||||
/**
|
||||
* 设置图片尺寸
|
||||
* @param {String} type - 尺寸模式:suit 适合 / org 原大小
|
||||
* @public
|
||||
*/
|
||||
ImgsView.prototype.resizeAs = function (type) {
|
||||
if (type == 'suit') {
|
||||
this.$e.imgCur.removeAttr('width').removeAttr('height');
|
||||
if (this.$e.imgCur[0].naturalWidth > this._data.winW - 60) {
|
||||
this.$e.imgCur.css('max-width', this._data.winW - 60);
|
||||
}
|
||||
if (this.$e.imgCur[0].naturalHeight > this._data.winH - 60) {
|
||||
this.$e.imgCur.css('max-height', this._data.winH - 60);
|
||||
}
|
||||
} else if (type == 'org') {
|
||||
this.$e.imgCur.removeAttr('style');
|
||||
this.$e.imgCur.attr({
|
||||
'width': this.$e.imgCur[0].naturalWidth,
|
||||
'height': this.$e.imgCur[0].naturalHeight
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
//注册到 jQuery
|
||||
$.extend($.fn, {
|
||||
imgsView: function () {
|
||||
return this.each(function () {
|
||||
return new ImgsView(this);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
})(window, jQuery);
|
||||
@@ -1,778 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 入口模块
|
||||
* @author Tevin
|
||||
* @see {@link https://github.com/TevinLi/amWiki}
|
||||
* @license MIT - Released under the MIT license.
|
||||
*/
|
||||
|
||||
$(function () {
|
||||
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
引入
|
||||
*/
|
||||
|
||||
//工具集
|
||||
var tools = window.tools;
|
||||
//文档管理器
|
||||
var docs = new AWDocs();
|
||||
//本地存储
|
||||
var storage = new AWStorage();
|
||||
//全文库搜索
|
||||
var search = new AWSearch(storage);
|
||||
//启用接口ajax测试
|
||||
if (window.AWTesting) {
|
||||
var testing = new AWTesting();
|
||||
}
|
||||
//是否支持history.state的API (IE9不支持)
|
||||
var HISTORY_STATE = 'pushState' in history;
|
||||
/*
|
||||
页面基本
|
||||
*/
|
||||
|
||||
//页面元素
|
||||
var $win = $(window),
|
||||
$body = $('body'),
|
||||
$menuIcon = $('#menuIcon'), //顶部折叠显示导航按钮
|
||||
$container = $('#container'), //页面主容器
|
||||
$nav = $('#nav'), //左侧导航
|
||||
$menuBar = $('#menuBar'), //左侧导航内容
|
||||
$filter = $('#menuFilter'),
|
||||
$filterClean = $filter.next('i'),
|
||||
$main = $('#main'),
|
||||
$mainInner = $main.children('.main-inner'),
|
||||
$mainSibling = $('#mainSibling'), //其他文章
|
||||
$contents = $('#contents'); //目录
|
||||
|
||||
//是否为移动端
|
||||
var isMobi = window.isMobi = (function () {
|
||||
var winW = $win.width();
|
||||
var threshold = 720;
|
||||
var onResize = function () {
|
||||
winW = $win.width();
|
||||
if (winW <= threshold) {
|
||||
$container.removeAttr('style');
|
||||
} else {
|
||||
$container.height($win.height() - 70 - 15 - 20 * 2);
|
||||
}
|
||||
};
|
||||
onResize();
|
||||
$win.on('resize', onResize);
|
||||
return function () {
|
||||
return winW <= threshold;
|
||||
};
|
||||
})();
|
||||
|
||||
//页面基本显示与操作
|
||||
(function () {
|
||||
//菜单折叠
|
||||
$menuBar.on('click', 'h4', function () {
|
||||
var $this = $(this);
|
||||
if (!$this.hasClass('on')) {
|
||||
$this.addClass('on');
|
||||
$menuBar.find('a').removeClass('on');
|
||||
}
|
||||
$menuBar.find('h5').removeClass('on').next('ul').hide();
|
||||
});
|
||||
$menuBar.on('click', 'h5', function () {
|
||||
var $this = $(this),
|
||||
$next = $this.next('ul');
|
||||
if ($this.hasClass('on')) {
|
||||
$this.removeClass('on');
|
||||
$next.slideUp(200, function () {
|
||||
$menuBar.trigger('scrollbar');
|
||||
});
|
||||
} else {
|
||||
$this.addClass('on');
|
||||
$next.slideDown(200, function () {
|
||||
$menuBar.trigger('scrollbar');
|
||||
});
|
||||
}
|
||||
});
|
||||
$menuBar.on('click', 'strong', function () {
|
||||
var $this = $(this),
|
||||
$next = $this.next('ul');
|
||||
if ($this.hasClass('on')) {
|
||||
$this.removeClass('on');
|
||||
$next.slideUp(200, function () {
|
||||
$menuBar.trigger('scrollbar');
|
||||
});
|
||||
} else {
|
||||
$this.addClass('on');
|
||||
$next.slideDown(200, function () {
|
||||
$menuBar.trigger('scrollbar');
|
||||
});
|
||||
}
|
||||
});
|
||||
//响应式菜单
|
||||
$menuIcon.on('click', function () {
|
||||
var $this = $(this);
|
||||
if ($this.hasClass('close')) {
|
||||
$this.removeClass('close')
|
||||
.find('use').attr('xlink:href', '#icon:navStart');
|
||||
$nav.removeClass('on');
|
||||
} else {
|
||||
$this.addClass('close')
|
||||
.find('use').attr('xlink:href', '#icon:navClose');
|
||||
$nav.addClass('on');
|
||||
}
|
||||
});
|
||||
$nav.on('navchange searchon searchoff', function (e) {
|
||||
$menuIcon.removeClass('close')
|
||||
.find('use').attr('xlink:href', '#icon:navStart');
|
||||
$nav.removeClass('on');
|
||||
});
|
||||
//筛选操作
|
||||
$filter.on('input propertychange input2', function () {
|
||||
var value = $filter.val().replace(/([\(\)\[\]\^\$\+])/g, '\\$1');
|
||||
var valReg = new RegExp('(' + $.trim($filter.val()).split(/[ ,]/).join('|') + ')', 'ig');
|
||||
if (value != '' && !/^\s$/g.test(value)) {
|
||||
$filterClean.removeClass('off');
|
||||
$menuBar.find('h5').each(function () {
|
||||
filterNav('filter', valReg, $(this));
|
||||
});
|
||||
storage.setStates('navFilterKey', value);
|
||||
} else {
|
||||
$filterClean.addClass('off');
|
||||
$menuBar.find('h5').each(function () {
|
||||
filterNav('open', null, $(this));
|
||||
});
|
||||
storage.setStates('navFilterKey');
|
||||
}
|
||||
$menuBar.trigger('scrollbar');
|
||||
});
|
||||
//清空筛选
|
||||
$filterClean.on('click', function () {
|
||||
$filter.val('').trigger('input2');
|
||||
});
|
||||
//显示svg图标
|
||||
if (sessionStorage['AMWikiIconsSvg']) {
|
||||
$('#svgSymbols').append(sessionStorage['AMWikiIconsSvg']);
|
||||
} else {
|
||||
$.get('amWiki/images/icons.svg', function (svg) {
|
||||
sessionStorage['AMWikiIconsSvg'] = svg;
|
||||
$('#svgSymbols').append(svg);
|
||||
}, 'text').fail(function () {
|
||||
if (typeof AWPageMounts != 'undefined') {
|
||||
sessionStorage['AMWikiIconsSvg'] = AWPageMounts['icon'].content;
|
||||
$('#svgSymbols').append(AWPageMounts['icon'].content);
|
||||
}
|
||||
});
|
||||
}
|
||||
//目录悬浮窗展开折叠
|
||||
$contents.children('.btn').on('click', function (e) {
|
||||
$contents.toggleClass('on').removeClass('hover');
|
||||
});
|
||||
$contents.hover(function () {
|
||||
$contents.addClass('hover');
|
||||
}, function () {
|
||||
$contents.removeClass('hover');
|
||||
});
|
||||
//开启滚动条
|
||||
$('.scroller').scrollbar();
|
||||
$('#backTop').on('click', function () {
|
||||
$mainInner.scrollTop(0);
|
||||
});
|
||||
//图片放大
|
||||
$main.imgsView();
|
||||
//全局点击
|
||||
$(document).on('click', function (e) {
|
||||
var $tag = $(e.target);
|
||||
//移动端
|
||||
if (isMobi()) {
|
||||
//折叠目录悬浮窗
|
||||
if ($tag.closest('#contents').length == 0) {
|
||||
$contents.removeClass('on').removeClass('on');
|
||||
}
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||
/*
|
||||
业务操作函数
|
||||
*/
|
||||
|
||||
/**
|
||||
* 向下递归进行导航筛选
|
||||
* 当类型为筛选时,必定有正则
|
||||
* 当文件夹匹配时,其所属链接和所有子级全部显示且显示匹配
|
||||
* 当文件夹不匹配时,其所属链接和当前子级仅显示匹配,隐藏不匹配的项,下一级继续筛选
|
||||
* 当类型为打开时,所属链接和子级一律全部显示不隐藏
|
||||
* 如果有正则,显示当前匹配
|
||||
* 如果无正则,清除匹配
|
||||
* @param {String} type - 筛选类型,有 filter / open 两个值
|
||||
* @param {regexp} valReg - 过滤筛选的正则
|
||||
* @param {Object} $title - jquery 对象,“标题-列表”DOM结构中的标题
|
||||
*/
|
||||
var filterNav = function (type, valReg, $title) {
|
||||
var $ul = $title.next('ul');
|
||||
//因为一级文件夹和子级文件夹DOM结构不同,所以区分对待
|
||||
// 显示上,strong 带 on 加粗显示,h5 加 off 隐藏
|
||||
// 文本操作使用变量 $span,其他操作使用变量 $title
|
||||
var $span = $title.find('span');
|
||||
//当类型为筛选时
|
||||
if (type == 'filter' && valReg) {
|
||||
//当文件夹标题匹配时
|
||||
if (valReg.test($span.text())) {
|
||||
$span.html($span.text().replace(valReg, '<mark>$1</mark>'));
|
||||
$title.addClass('on').removeClass('off');
|
||||
//所属链接全部显示,且显示匹配
|
||||
$ul.show().find('> li > a').each(function () {
|
||||
var $this = $(this);
|
||||
var $span2 = $this.find('span');
|
||||
$span2.html($span2.text().replace(valReg, '<mark>$1</mark>'));
|
||||
$this.parent().removeClass('off');
|
||||
});
|
||||
//父级显示
|
||||
showNavParents($title);
|
||||
//下一级筛选类型更改,文件和文件夹全部显示,且显示匹配
|
||||
$ul.find('> li > strong').each(function () {
|
||||
filterNav('open', valReg, $(this));
|
||||
});
|
||||
}
|
||||
//当文件夹标题不匹配时
|
||||
else {
|
||||
$span.text($span.text());
|
||||
$title.removeClass('on');
|
||||
//隐藏父级或隐藏h5
|
||||
if ($title.is('h5')) {
|
||||
$title.parent().addClass('off');
|
||||
} else {
|
||||
$title.addClass('off');
|
||||
}
|
||||
//所属链接仅显示匹配的
|
||||
$ul.hide().find('> li > a').each(function () {
|
||||
var $this = $(this);
|
||||
var $span2 = $this.find('span');
|
||||
if (valReg.test($this.text())) {
|
||||
$span2.html($span2.text().replace(valReg, '<mark>$1</mark>'));
|
||||
$this.parent().removeClass('off');
|
||||
//存在匹配时父级才显示
|
||||
showNavParents($ul.show().prev());
|
||||
} else {
|
||||
$span2.text($span2.text());
|
||||
$this.parent().addClass('off');
|
||||
}
|
||||
});
|
||||
//下一级继续完全筛选
|
||||
$ul.find('> li > strong').each(function () {
|
||||
filterNav('filter', valReg, $(this));
|
||||
});
|
||||
}
|
||||
}
|
||||
//当类型为打开,显示全部链接和文件夹
|
||||
else if (type == 'open') {
|
||||
$title.removeClass('off');
|
||||
if ($title.hasClass('on')) {
|
||||
$ul.show();
|
||||
} else {
|
||||
$ul.hide();
|
||||
}
|
||||
//当存在正则时,显示匹配
|
||||
if (!!valReg) {
|
||||
$span.html($span.text().replace(valReg, '<mark>$1</mark>'));
|
||||
if (valReg.test($span.text())) {
|
||||
$ul.show(); //当文件夹名称命中,展开文件夹
|
||||
}
|
||||
$ul.find('> li > a').each(function () {
|
||||
var $this = $(this);
|
||||
var $span2 = $this.find('span');
|
||||
$span2.html($span2.text().replace(valReg, '<mark>$1</mark>'));
|
||||
if (valReg.test($this.text())) {
|
||||
$ul.show(); //当链接名称命中,展开文件夹
|
||||
}
|
||||
$this.parent().removeClass('off');
|
||||
});
|
||||
//父级显示
|
||||
showNavParents($title);
|
||||
//下一级继续以相同类型显示
|
||||
$ul.find('> li > strong').each(function () {
|
||||
filterNav('open', valReg, $(this));
|
||||
});
|
||||
}
|
||||
//当正则不存在,显示所有本级和子级、清除匹配
|
||||
else {
|
||||
$span.text($span.text());
|
||||
$ul.find('> li > a').each(function () {
|
||||
var $span2 = $(this).find('span');
|
||||
$span2.text($span2.text());
|
||||
});
|
||||
$ul.children('li').removeClass('off').children('strong').each(function () {
|
||||
filterNav('open', null, $(this));
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
//向上递归显示父级
|
||||
var showNavParents = function ($title) {
|
||||
$title.addClass('on').removeClass('off');
|
||||
//向上显示直到一级目录
|
||||
if (!$title.is('h5')) {
|
||||
var $prev2 = $title.parent().removeClass('off').parent().show().prev();
|
||||
showNavParents($prev2);
|
||||
} else {
|
||||
$title.parent().removeClass('off').parent().show().prev().addClass('on');
|
||||
}
|
||||
};
|
||||
|
||||
//改变底部上下篇目
|
||||
var changeSibling = function ($item) {
|
||||
//如果未传导航项进来,隐藏上下篇目栏位
|
||||
if (!$item) {
|
||||
$mainSibling.removeClass('on');
|
||||
return;
|
||||
}
|
||||
//获取平级文档链接
|
||||
var getDocLink = function (type, $elm) {
|
||||
var $other = $elm[type]();
|
||||
if ($other.length == 0) {
|
||||
return null;
|
||||
}
|
||||
if ($other.children('ul').length > 0) {
|
||||
return getDocLink(type, $other);
|
||||
} else {
|
||||
return $other.children('a');
|
||||
}
|
||||
};
|
||||
//设置上下篇目导航
|
||||
var setSiblingNav = function (num, $other) {
|
||||
if ($other) {
|
||||
$mainSibling.find('a').eq(num)
|
||||
.attr('href', $other.attr('href'))
|
||||
.text($other.text());
|
||||
} else {
|
||||
$mainSibling.find('a').eq(num)
|
||||
.removeAttr('href')
|
||||
.text('没有了');
|
||||
}
|
||||
};
|
||||
setSiblingNav(0, getDocLink('prev', $item));
|
||||
setSiblingNav(1, getDocLink('next', $item));
|
||||
if (testing && !testing.isOpen()) {
|
||||
$mainSibling.addClass('on');
|
||||
}
|
||||
};
|
||||
|
||||
//改变导航显示
|
||||
var changeNav = function (path) {
|
||||
path = decodeURIComponent(path);
|
||||
if (path.indexOf('home') !== -1 || path.indexOf('CHANGELOG') !== -1) {
|
||||
$menuBar.find('h4').addClass('on');
|
||||
$menuBar.find('a').removeClass('on');
|
||||
changeSibling(null);
|
||||
} else {
|
||||
var hsLink = false;
|
||||
$menuBar.find('a').each(function () {
|
||||
var $this = $(this);
|
||||
var path2 = decodeURIComponent($this.attr('href').split('file=')[1]);
|
||||
if (path2 == path) {
|
||||
hsLink = true;
|
||||
//本层加高亮
|
||||
var $prev = $this.addClass('on').parent().parent().show().prev().addClass('on');
|
||||
//父级高亮
|
||||
showNavParents($prev);
|
||||
//改变上下篇切换
|
||||
changeSibling($this.parent());
|
||||
} else {
|
||||
$this.removeClass('on');
|
||||
}
|
||||
});
|
||||
if (hsLink) {
|
||||
$menuBar.find('h4').removeClass('on');
|
||||
}
|
||||
}
|
||||
curPath = path;
|
||||
$menuBar.trigger('scrollbar');
|
||||
};
|
||||
|
||||
var replaceWithReg = function (str, newData, type) {
|
||||
if (str) {
|
||||
try {
|
||||
var re = new RegExp("{[\s]*" + type + "[\s]*}", "gim");
|
||||
return str.replace(re, newData);
|
||||
} catch (e) {
|
||||
return str;
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
//返回首页
|
||||
var backHome = function () {
|
||||
docs.loadPage(homePage.path, function (state, content) {
|
||||
if (state == 'success') {
|
||||
changeNav(homePage.path);
|
||||
content = replaceWithReg(content, pathObj.thirdParty, 'thirdParty');
|
||||
content = replaceWithReg(content, pathObj.default, 'default');
|
||||
docs.renderDoc(content);
|
||||
storage.saveDoc(homePage.path, content);
|
||||
$main.trigger('scrollbar');
|
||||
}
|
||||
});
|
||||
if (HISTORY_STATE) {
|
||||
history.replaceState({path: homePage.path}, '', homePage.url);
|
||||
}
|
||||
};
|
||||
|
||||
//改变页面
|
||||
var changePage = function (path, withOutPushState, callback) {
|
||||
//第一步,从本地缓存读取并渲染页面
|
||||
path = decodeURIComponent(path)
|
||||
var localDoc = storage.read(path);
|
||||
localDoc = replaceWithReg(localDoc, pathObj.thirdParty, 'thirdParty');
|
||||
localDoc = replaceWithReg(localDoc, pathObj.default, 'default');
|
||||
docs.renderDoc(localDoc);
|
||||
testing && testing.crawlContent();
|
||||
$main.trigger('scrollbar');
|
||||
$mainInner.scrollTop(0); //返回顶部
|
||||
//更新history记录
|
||||
if (!withOutPushState && HISTORY_STATE) {
|
||||
var path2 = path.replace(/&/g, '%26'); //对带 & 符号的地址特殊处理
|
||||
history.pushState({path: path}, '', '?file=' + path2);
|
||||
}
|
||||
//第二步,加载服务器上的文档资源,如果有更新重新渲染
|
||||
docs.loadPage(path, function (state, content) {
|
||||
//读取服务器文档失败时
|
||||
if (state == 'error') {
|
||||
//如果本地缓存为空
|
||||
if (localDoc == '') {
|
||||
backHome();
|
||||
}
|
||||
//如果本地缓存不为空
|
||||
else {
|
||||
//记录文档打开数
|
||||
storage.increaseOpenedCount(path);
|
||||
callback && callback();
|
||||
}
|
||||
}
|
||||
//读取服务器文档成功时
|
||||
else if (state == 'success') {
|
||||
//如果服务器文档有更新,更新本地缓存、重新渲染页面、重新判断接口测试
|
||||
content = replaceWithReg(content, pathObj.thirdParty, 'thirdParty');
|
||||
content = replaceWithReg(content, pathObj.default, 'default');
|
||||
if (content != localDoc) {
|
||||
docs.renderDoc(content);
|
||||
storage.saveDoc(path, content);
|
||||
testing && testing.crawlContent();
|
||||
$main.trigger('scrollbar');
|
||||
}
|
||||
//如果服务器文档与本地缓存一致,不进行任何操作
|
||||
else {
|
||||
}
|
||||
//记录文档打开数
|
||||
storage.increaseOpenedCount(path);
|
||||
callback && callback();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//读取目录导航
|
||||
var homePage = {};
|
||||
var pathObj = {};
|
||||
var loadNav = function (contentPath, callback) {
|
||||
var fillNav = function (data) {
|
||||
if (!data) return;
|
||||
$menuBar.find('.scroller-content').html(marked.parse(data));
|
||||
//首页
|
||||
var menuBarHome = $menuBar.find('h4');
|
||||
homePage.text = menuBarHome.text();
|
||||
homePage.url = decodeURIComponent(menuBarHome.find('a').attr('href'));
|
||||
homePage.path = decodeURIComponent((homePage.url ?? '').split('file=')[1]);
|
||||
menuBarHome.prepend('<svg><use xlink:href="#icon:navHome"></use></svg>');
|
||||
//列表
|
||||
$menuBar.find('h5').each(function () {
|
||||
var $this = $(this);
|
||||
$this.html('<svg><use xlink:href="#icon:navArrow"></use></svg><span>' + $this.text() + '</span>')
|
||||
});
|
||||
$menuBar.trigger('scrollbar');
|
||||
var pathList = [];
|
||||
//支持history api时,改变默认事件,导航不再跳转页面
|
||||
$menuBar.find('a').each(function () {
|
||||
var $this = $(this);
|
||||
$this.html('<span>' + $this.text() + '</span>');
|
||||
if (HISTORY_STATE) {
|
||||
var path = decodeURIComponent($this.attr('href').split('file=')[1]);
|
||||
pathList.push(path);
|
||||
$this.on('click', function () {
|
||||
search.displayBox('off'); //关闭搜索面板
|
||||
changeNav(path);
|
||||
changePage(path);
|
||||
$this.trigger('navchange');
|
||||
return false;
|
||||
});
|
||||
}
|
||||
});
|
||||
//上下翻页不再跳页面
|
||||
$mainSibling.find('a').on('click', function () {
|
||||
if (HISTORY_STATE) {
|
||||
var $this = $(this);
|
||||
var href = $this.attr('href');
|
||||
if (typeof href != 'undefined' && href != '') {
|
||||
var path = href.split('file=')[1];
|
||||
changeNav(path);
|
||||
changePage(path);
|
||||
$this.trigger('navchange');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$menuBar.find('strong').each(function () {
|
||||
var $this = $(this);
|
||||
$this.html('<span>' + $this.text() + '</span>');
|
||||
});
|
||||
//搜索结果不再跳转页面
|
||||
$('#results').on('click', 'a', function () {
|
||||
if (HISTORY_STATE) {
|
||||
var $this = $(this);
|
||||
var href = $this.attr('href');
|
||||
if (typeof href != 'undefined' && href != '') {
|
||||
var path = href.split('file=')[1];
|
||||
search.displayBox('off'); //关闭搜索面板
|
||||
changeNav(path);
|
||||
changePage(path);
|
||||
$this.trigger('navchange');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
//设置导航筛选初始值
|
||||
var filterVal = storage.getStates('navFilterKey');
|
||||
if (typeof filterVal != 'undefined' && filterVal != '') {
|
||||
$filter.val(filterVal).trigger('input2');
|
||||
}
|
||||
//回调
|
||||
callback && callback(pathList);
|
||||
};
|
||||
if (contentPath.indexOf('undefined.md') !== -1) return;
|
||||
$.get(contentPath + '?t=' + Date.now(), fillNav, 'text').fail(function () {
|
||||
if (typeof AWPageMounts != 'undefined') {
|
||||
fillNav(AWPageMounts['nav'].content);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//读取页面挂载数据文档部分
|
||||
var loadPageMounts = function () {
|
||||
if (typeof AWPageMounts == 'undefined') {
|
||||
return;
|
||||
}
|
||||
//打开页面立即比较页面挂载数据时间与本地缓存更新时间
|
||||
// 因为首页总是更新的,如果首页页面挂载数据时间大于本地缓存时间,则挂载数据一定已经经过重建
|
||||
var homePath = AWPageMounts['home'].name.replace(/\.md$/, '');
|
||||
var homeStorageTime = storage.readTime(homePath);
|
||||
//如果页面挂载数据经过了重建,开始更新,读取所有挂载数据插入到本地缓存,完成后删除释放资源占用
|
||||
if (AWPageMounts['home'].timestamp > homeStorageTime) {
|
||||
//首页
|
||||
storage.saveDoc(homePath, AWPageMounts['home'].content);
|
||||
delete AWPageMounts['home'];
|
||||
//其他文档
|
||||
for (var lv1 in AWPageMounts) {
|
||||
if (!AWPageMounts.hasOwnProperty(lv1)) {
|
||||
continue;
|
||||
}
|
||||
if (!/^m\d+/.test(lv1)) {
|
||||
continue;
|
||||
}
|
||||
for (var i = 0, page; page = AWPageMounts[lv1][i]; i++) {
|
||||
storage.saveDoc(page.path.replace(/\.md$/, ''), page.content);
|
||||
}
|
||||
delete AWPageMounts[lv1];
|
||||
}
|
||||
storage.saveRebuild();
|
||||
}
|
||||
//否则直接删除页面挂载数据的文档部分,释放内存资源占用
|
||||
else {
|
||||
delete AWPageMounts['home'];
|
||||
for (var name in AWPageMounts) {
|
||||
if (AWPageMounts.hasOwnProperty(name)) {
|
||||
if (/^m\d+/.test(name)) {
|
||||
delete AWPageMounts[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//根据hash改变滚动位置
|
||||
var changeScrollByHash = function () {
|
||||
var hash = decodeURIComponent(location.hash.split('#')[1]);
|
||||
//当不存在hash
|
||||
if (!hash || hash.length == '') {
|
||||
//检测是否在顶部,不在顶部滚动至顶部
|
||||
if ($mainInner.scrollTop() != 0) {
|
||||
$mainInner.scrollTop(0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
//获取hash指向的元素
|
||||
var $hashs = $('.anchor');
|
||||
var $hash;
|
||||
for (let i = 0; $hashs[i]; i++) {
|
||||
if ($hashs[i].name.replace(/\s/g, '') === hash.replace(/\s/g, '')) {
|
||||
$hash = $($hashs[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$hash || $hash.length == 0) {
|
||||
return
|
||||
}
|
||||
//滚动至元素
|
||||
$mainInner.scrollTop($hash.position().top + $mainInner.scrollTop() - 10);
|
||||
};
|
||||
|
||||
/*
|
||||
启动应用
|
||||
*/
|
||||
|
||||
//解析地址参数
|
||||
var curPath = tools.getURLParameter('file');
|
||||
curPath = !curPath ? '首页' : decodeURI(curPath);
|
||||
curPath = curPath.replace(/%26/g, '&');
|
||||
|
||||
/*//加载导航
|
||||
loadNav(function (list) {
|
||||
//核对本地存储
|
||||
storage.checkLibChange(list);
|
||||
//读取页面挂载数据文档部分
|
||||
loadPageMounts();
|
||||
//首次打开改变导航
|
||||
changeNav(curPath);
|
||||
//首次打开改变页面
|
||||
changePage(curPath, true, changeScrollByHash);
|
||||
});
|
||||
*/
|
||||
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
const path = require('path');
|
||||
|
||||
ipcRenderer.on('command', (event, command) => {
|
||||
if (typeof command !== 'object') return;
|
||||
console.log('receive -> ', command);
|
||||
switch (command.func) {
|
||||
case 'setPath':
|
||||
AWConfig.libraryPrefix = ''/*path.resolve(message, '../') + '/'*/;
|
||||
pathObj = command.args[0];
|
||||
if (typeof pathObj.default === 'string')
|
||||
pathObj.default = pathObj.default.replaceAll('\\', '/');
|
||||
if (typeof pathObj.thirdParty === 'string')
|
||||
pathObj.thirdParty = pathObj.thirdParty.replaceAll('\\', '/');
|
||||
let { content } = command.args[0];
|
||||
content = path.resolve(path.dirname(content), path.basename(content, '.md'));
|
||||
loadNav(command.args[0].content, function (list) {
|
||||
//核对本地存储
|
||||
storage.checkLibChange(list);
|
||||
//读取页面挂载数据文档部分
|
||||
loadPageMounts();
|
||||
const { goto } = command.args[0];
|
||||
if (goto && goto.length) {
|
||||
changeNav(goto[0]);
|
||||
//改变页面
|
||||
changePage(goto[0], false, () => {
|
||||
//改变导航
|
||||
if (goto.length > 1)
|
||||
location.hash = '#' + goto[1];
|
||||
changeScrollByHash();
|
||||
});
|
||||
} else {
|
||||
//首次打开改变导航
|
||||
const { search } = layui.url();
|
||||
const { hash } = location;
|
||||
const file = decodeURIComponent(search.file);
|
||||
changeNav(file);
|
||||
//首次打开改变页面
|
||||
changePage(file, false, () => {
|
||||
if (hash)
|
||||
location.hash = hash;
|
||||
changeScrollByHash();
|
||||
});
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'goto':
|
||||
changeNav(command.args[0]);
|
||||
//改变页面
|
||||
changePage(command.args[0], false, () => {
|
||||
//改变导航
|
||||
if (command.args.length > 1)
|
||||
location.hash = '#' + command.args[1];
|
||||
changeScrollByHash();
|
||||
});
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
ipcRenderer.send('command', { func: 'getPath' });
|
||||
});
|
||||
|
||||
window.addEventListener('resize', () => {
|
||||
ipcRenderer.send('command', { func: 'getPath' });
|
||||
});
|
||||
|
||||
//history api 浏览器前进后退操作响应
|
||||
if (HISTORY_STATE) {
|
||||
$win.on('popstate', function (e) {
|
||||
var path;
|
||||
//当有状态记录时,直接跳转
|
||||
if (e.originalEvent.state) {
|
||||
path = e.originalEvent.state.path;
|
||||
path = path.replace(/%26/g, '&');
|
||||
//改变导航
|
||||
changeNav(path);
|
||||
//改变页面
|
||||
changePage(path, true, changeScrollByHash);
|
||||
}
|
||||
//当没有状态记录时
|
||||
else {
|
||||
path = tools.getURLParameter('file');
|
||||
path = !path ? '首页' : decodeURI(path);
|
||||
path = path.replace(/%26/g, '&');
|
||||
//判断 url 路径是否和当前一样,不一样才跳转
|
||||
if (path != curPath) {
|
||||
//改变导航
|
||||
changeNav(path);
|
||||
//改变页面
|
||||
changePage(path, true, changeScrollByHash);
|
||||
}
|
||||
//相同时不跳转,根据 hash 变化改变位置
|
||||
else {
|
||||
changeScrollByHash();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
回调中转
|
||||
*/
|
||||
|
||||
//重建缓存
|
||||
search.onNeedRebuildStorage = function (callback) {
|
||||
storage.clearLibraries();
|
||||
var list = storage.getIndexList();
|
||||
var count = 0;
|
||||
var load = function (path, i) {
|
||||
//为避免重建缓存频率过高,人为增设每个请求时间间隔
|
||||
setTimeout(function () {
|
||||
docs.loadPage(path, function (state, content) {
|
||||
//文档读取成功时保存到内存
|
||||
if (state == 'success') {
|
||||
storage.saveDocToDB(path, content);
|
||||
}
|
||||
//循环结束后完成重建
|
||||
if (++count >= list.length) {
|
||||
storage.saveRebuild();
|
||||
callback && callback();
|
||||
}
|
||||
});
|
||||
}, i * 100);
|
||||
};
|
||||
for (var i = 0, item; item = list[i]; i++) {
|
||||
load(item, i);
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -1,288 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 滚动条模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;
|
||||
(function (win, $) {
|
||||
|
||||
'use strict';
|
||||
|
||||
//定时检测内容高度作为补充
|
||||
var list = [];
|
||||
setInterval(function () {
|
||||
for (var i = 0, item; item = list[i]; i++) {
|
||||
item.checkHeightWidth();
|
||||
}
|
||||
}, 500);
|
||||
|
||||
/**
|
||||
* 页面滚动
|
||||
* @param {Element} _this
|
||||
* @constructor
|
||||
*/
|
||||
var Scroller = function (_this) {
|
||||
this.$e = {
|
||||
container: $(_this), //主容器
|
||||
inner: null, //正文内容
|
||||
barY: null, //垂直滚动条外层
|
||||
boxY: null, //垂直滚动条
|
||||
sliderY: null, //垂直滑块
|
||||
barX: null, //水平滚动条外层
|
||||
boxX: null, //水平滚动条
|
||||
sliderX: null //水平滑块
|
||||
};
|
||||
this._data = {
|
||||
xRolling: this.$e.container.attr('data-x-rolling') == 'true',
|
||||
maxTop: 0, //最大top值
|
||||
barH: 0, //滚动条高度
|
||||
sliderH: 0, //滑块高度
|
||||
contentH: 0, //内容高度
|
||||
containerH: 0, //容器高度
|
||||
contentHLast: 0, //上次内容高度
|
||||
barW: 0, //滚动条宽度
|
||||
sliderW: 0, //滑块宽度
|
||||
contentW: 0, //内容宽度
|
||||
containerW: 0, //容器宽度
|
||||
contentWLast: 0 //上次内容宽度
|
||||
};
|
||||
this._init();
|
||||
};
|
||||
|
||||
/**
|
||||
* 初始化
|
||||
* @private
|
||||
*/
|
||||
Scroller.prototype._init = function () {
|
||||
var that = this;
|
||||
var barHtml = '<div class="scrollbar scrollbar-y" onselectstart="return false"><div><i></i></div></div>';
|
||||
barHtml += this._data.xRolling ?
|
||||
'<div class="scrollbar scrollbar-x" onselectstart="return false"><div><i></i></div></div>' : '';
|
||||
this.$e.container.append(barHtml);
|
||||
//获取元素
|
||||
this.$e.barY = this.$e.container.find('.scrollbar-y');
|
||||
this.$e.boxY = this.$e.barY.children('div');
|
||||
this.$e.sliderY = this.$e.barY.find('i');
|
||||
if (this._data.xRolling) {
|
||||
this.$e.barX = this.$e.container.find('.scrollbar-x');
|
||||
this.$e.boxX = this.$e.barX.children('div');
|
||||
this.$e.sliderX = this.$e.barX.find('i');
|
||||
}
|
||||
this.$e.inner = this.$e.container.children('.scroller-inner');
|
||||
//绑定事件
|
||||
this._onWinResize();
|
||||
$(win).on('resize', function () {
|
||||
that._onWinResize();
|
||||
that.checkHeightWidth();
|
||||
});
|
||||
this.$e.container.on('scrollbar', function () {
|
||||
that.checkHeightWidth();
|
||||
});
|
||||
this.$e.inner.on({
|
||||
'click': function () {
|
||||
that.checkHeightWidth();
|
||||
},
|
||||
'scroll': function () {
|
||||
that._reScroll();
|
||||
}
|
||||
});
|
||||
this.checkHeightWidth();
|
||||
this._bindAction();
|
||||
};
|
||||
|
||||
/**
|
||||
* 滑块操作
|
||||
* @private
|
||||
*/
|
||||
Scroller.prototype._bindAction = function () {
|
||||
var that = this;
|
||||
var onDrag = false;
|
||||
var _y = 0,
|
||||
top = 0,
|
||||
_x = 0,
|
||||
left = 0;
|
||||
this.$e.body = $('body');
|
||||
this.$e.boxY.on({
|
||||
'mousedown': function (e) {
|
||||
onDrag = 'y';
|
||||
that.$e.body.attr('onselectstart', 'return false');
|
||||
that.$e.barY.addClass('active');
|
||||
_y = e.pageY;
|
||||
top = parseFloat(that.$e.sliderY.css('top'));
|
||||
if (that.$e.barY.parents('#main').length > 0) {
|
||||
that.$e.body.children('aside').hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
if (this._data.xRolling) {
|
||||
this.$e.boxX.on({
|
||||
'mousedown': function (e) {
|
||||
onDrag = 'x';
|
||||
that.$e.body.attr('onselectstart', 'return false');
|
||||
that.$e.barX.addClass('active');
|
||||
_x = e.pageX;
|
||||
left = parseFloat(that.$e.sliderX.css('left'));
|
||||
}
|
||||
});
|
||||
}
|
||||
$(win.document).on({
|
||||
'mousemove': function (e) {
|
||||
if (onDrag == 'y') {
|
||||
that.scrollYTo(top + e.pageY - _y);
|
||||
} else if (onDrag == 'x') {
|
||||
that.scrollXTo(left + e.pageX - _x);
|
||||
}
|
||||
},
|
||||
'mouseup': function () {
|
||||
that.$e.body.removeAttr('onselectstart', 'return false')
|
||||
.children('aside').show();
|
||||
if (onDrag == 'y') {
|
||||
that.$e.barY.removeClass('active');
|
||||
} else if (onDrag == 'x') {
|
||||
that.$e.barX.removeClass('active');
|
||||
}
|
||||
onDrag = false;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 尺寸缩放
|
||||
* @private
|
||||
*/
|
||||
Scroller.prototype._onWinResize = function () {
|
||||
if (isMobi()) {
|
||||
this.$e.inner.removeAttr('style').removeClass('on');
|
||||
} else {
|
||||
this.$e.inner.css({
|
||||
width: this.$e.container.width() + 30,
|
||||
paddingRight: 13,
|
||||
paddingBottom: 16
|
||||
}).addClass('on');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 重设滑块大小
|
||||
* @private
|
||||
*/
|
||||
Scroller.prototype._resize = function () {
|
||||
var that = this;
|
||||
this._data.containerH = this.$e.inner.height();
|
||||
//当内容高度小于等于容器时,不显示滚动条
|
||||
if (this._data.contentH <= this._data.containerH) {
|
||||
this._data.contentH = this._data.containerH;
|
||||
this.$e.barY.addClass('off');
|
||||
} else {
|
||||
this.$e.barY.removeClass('off');
|
||||
}
|
||||
//设置滑块大小
|
||||
this._data.barH = this.$e.boxY.height();
|
||||
this._data.sliderH = this._data.containerH / that._data.contentH * this._data.barH;
|
||||
this.$e.sliderY.height(this._data.sliderH);
|
||||
//计算最大高度
|
||||
this._data.maxTop = (this._data.barH - this._data.sliderH) / this._data.barH * this._data.contentH + 1;
|
||||
//水平方向
|
||||
if (this._data.xRolling) {
|
||||
this._data.containerW = this.$e.inner.width();
|
||||
//当内容宽度不超过容器时,不显示滚动条
|
||||
if (this._data.contentW <= this._data.containerW) {
|
||||
this._data.contentW = this._data.containerW;
|
||||
this.$e.barX.addClass('off');
|
||||
} else {
|
||||
this.$e.barX.removeClass('off');
|
||||
}
|
||||
//设置滑块大小
|
||||
this._data.barW = this.$e.boxX.width();
|
||||
this._data.sliderW = this._data.containerW / that._data.contentW * this._data.barW;
|
||||
this.$e.sliderX.width(this._data.sliderW);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 重设滑块顶部距离
|
||||
* @private
|
||||
*/
|
||||
Scroller.prototype._reScroll = function () {
|
||||
var that = this;
|
||||
var top1 = this.$e.inner.scrollTop();
|
||||
var barTop = top1 / this._data.contentH * this._data.barH;
|
||||
//限制滑动边界 (由事件触发的滚动不会向上过界)
|
||||
if (barTop + this._data.sliderH >= this._data.barH) {
|
||||
barTop = this._data.barH - this._data.sliderH;
|
||||
this.$e.sliderY.css('top', barTop);
|
||||
this.$e.inner.scrollTop(this._data.maxTop);
|
||||
} else {
|
||||
this.$e.sliderY.css('top', barTop);
|
||||
}
|
||||
//水平方向
|
||||
if (this._data.xRolling) {
|
||||
var barLeft = this.$e.inner.scrollLeft() / this._data.contentW * this._data.barW;
|
||||
//水平方向没有鼠标滚动事件
|
||||
this.$e.sliderX.css('left', barLeft);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 垂直滚动到某位置
|
||||
* @param {Number} num
|
||||
* @public
|
||||
*/
|
||||
Scroller.prototype.scrollYTo = function (num) {
|
||||
var barTop = num;
|
||||
barTop = barTop < 0 ? 0 : barTop;
|
||||
barTop = barTop + this._data.sliderH > this._data.barH ? this._data.barH - this._data.sliderH : barTop;
|
||||
this.$e.sliderY.css('top', barTop);
|
||||
this.$e.inner.scrollTop(barTop / this._data.barH * this._data.contentH);
|
||||
};
|
||||
|
||||
/**
|
||||
* 水平滚动到某位置
|
||||
* @param {Number} num
|
||||
* @public
|
||||
*/
|
||||
Scroller.prototype.scrollXTo = function (num) {
|
||||
var barLeft = num;
|
||||
barLeft = barLeft < 0 ? 0 : barLeft;
|
||||
barLeft = barLeft + this._data.sliderW > this._data.barW ? this._data.barW - this._data.sliderW : barLeft;
|
||||
this.$e.sliderX.css('left', barLeft);
|
||||
this.$e.inner.scrollLeft(barLeft / this._data.barW * this._data.contentW);
|
||||
};
|
||||
|
||||
/**
|
||||
* 检查高度宽度
|
||||
* @public
|
||||
*/
|
||||
Scroller.prototype.checkHeightWidth = function () {
|
||||
var that = this;
|
||||
this._data.contentH = 0;
|
||||
this._data.contentW = 0;
|
||||
this.$e.inner.children('.scroller-content').each(function () {
|
||||
that._data.contentH += $(this).outerHeight();
|
||||
that._data.contentW += $(this).outerWidth();
|
||||
});
|
||||
//修正 webkit 中滚动条本身占位
|
||||
if (/webkit/.test(navigator.userAgent.toLowerCase())) {
|
||||
that._data.contentH += 15;
|
||||
}
|
||||
//如果高度未改变不进行操作
|
||||
if (this._data.contentH == this._data.contentHLast && this._data.contentW == this._data.contentWLast) {
|
||||
return;
|
||||
} else {
|
||||
this._data.contentHLast = this._data.contentH;
|
||||
this._data.contentWLast = this._data.contentW;
|
||||
}
|
||||
this._resize();
|
||||
this._reScroll();
|
||||
};
|
||||
|
||||
//注册到 jQuery
|
||||
$.extend($.fn, {
|
||||
scrollbar: function () {
|
||||
return this.each(function () {
|
||||
list.push(new Scroller(this));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
})(window, jQuery);
|
||||
@@ -1,297 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 全库搜索模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;
|
||||
(function (win) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* 全局搜索
|
||||
* @param {Storage} _storage
|
||||
* @constructor
|
||||
*/
|
||||
var Search = function (_storage) {
|
||||
this._storage = _storage;
|
||||
this.$e = {
|
||||
//显示搜索面板按钮
|
||||
searchShow: $('#searchShow'),
|
||||
//更新全部缓存按钮
|
||||
searchUpdate: this._storage.$e.searchUpdate,
|
||||
//搜索面板
|
||||
searchBox: $('#searchBox'),
|
||||
//搜索结果列表
|
||||
results: $('#results'),
|
||||
//搜索结果信息提示
|
||||
resultMsg: $('#resultMsg'),
|
||||
//搜素结果显示更多
|
||||
resultMore: $('#resultMore'),
|
||||
//搜索按钮
|
||||
search: $('#search'),
|
||||
//搜索文本
|
||||
searchText: $('#searchText')
|
||||
};
|
||||
this._data = {
|
||||
//搜素结果
|
||||
result: [],
|
||||
//单条结果的模板
|
||||
template: $('#template\\:searchResult').text(),
|
||||
//每页结果数
|
||||
pageSize: 15,
|
||||
//当前页码
|
||||
pagination: 0
|
||||
};
|
||||
this._bindCtrl();
|
||||
//用户执行重建缓存的回调
|
||||
this.onNeedRebuildStorage = null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 绑定用户操作
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._bindCtrl = function () {
|
||||
var that = this;
|
||||
//展开折叠搜索面板
|
||||
this.$e.searchShow.on('click', function () {
|
||||
if (that.$e.searchBox.hasClass('on')) {
|
||||
that.displayBox('off');
|
||||
that.$e.searchShow.trigger('searchoff');
|
||||
} else {
|
||||
that.displayBox('on', function () {
|
||||
resetResHeight();
|
||||
});
|
||||
that.$e.searchShow.trigger('searchon');
|
||||
}
|
||||
});
|
||||
//设置结果区域高度
|
||||
var resetResHeight = function () {
|
||||
var hOut = that.$e.searchBox.height();
|
||||
var dt = that.$e.results.offset().top - that.$e.searchUpdate.offset().top;
|
||||
that.$e.results.height(hOut - dt);
|
||||
};
|
||||
$(win).on('resize', function () {
|
||||
if (that.$e.searchBox.hasClass('on')) {
|
||||
resetResHeight();
|
||||
}
|
||||
});
|
||||
//当本地浏览且存在页面挂载数据时,隐藏重建缓存按钮
|
||||
if (location.protocol == 'file:' && typeof AWPageMounts != 'undefined') {
|
||||
this.$e.searchUpdate.parent().addClass('off');
|
||||
}
|
||||
//重建缓存
|
||||
this.$e.searchUpdate.on('click', function () {
|
||||
//开启重建缓存时,如果存在搜索子进程,则干掉子进程
|
||||
if (that._worker) {
|
||||
that._worker.terminate();
|
||||
that._worker = null;
|
||||
that.$e.resultMsg.hide();
|
||||
}
|
||||
that.$e.search.prop('disabled', true);
|
||||
that.$e.searchUpdate.prop('disabled', true);
|
||||
that.onNeedRebuildStorage(function () {
|
||||
that.$e.search.prop('disabled', false);
|
||||
that.$e.searchUpdate.val('请勿频繁使用');
|
||||
});
|
||||
});
|
||||
//更新全部缓存按钮使用的时间限制:一小时内不允许重复使用
|
||||
var lastBuild = this._storage.getLastBuildTs();
|
||||
if (lastBuild) {
|
||||
var lave = Date.now() - lastBuild;
|
||||
if (lave < 60 * 60 * 1000) {
|
||||
this.$e.searchUpdate.prop('disabled', true).val('请勿频繁使用');
|
||||
}
|
||||
}
|
||||
//点击搜索
|
||||
this.$e.search.on('click', function () {
|
||||
that._search();
|
||||
});
|
||||
this.$e.searchText.on('keyup', function (e) {
|
||||
if (e.keyCode == 13) {
|
||||
that._search();
|
||||
}
|
||||
});
|
||||
//结果翻页
|
||||
this.$e.resultMore.on('click', function () {
|
||||
that._nextResultPage();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 显示隐藏搜索面板
|
||||
* @param {String} type - on 显示 / off 隐藏
|
||||
* @param {Function} callback
|
||||
* @public
|
||||
*/
|
||||
Search.prototype.displayBox = function (type, callback) {
|
||||
var that = this;
|
||||
var $box = this.$e.searchBox;
|
||||
if (type == 'on' && !$box.hasClass('on')) {
|
||||
$box
|
||||
.addClass('on')
|
||||
.css({
|
||||
'display': 'block',
|
||||
'width': '0',
|
||||
'opacity': 0
|
||||
})
|
||||
.animate({
|
||||
'width': '100%',
|
||||
'opacity': 1
|
||||
}, 300, 'swing', function () {
|
||||
callback && callback();
|
||||
});
|
||||
} else if (type == 'off' && $box.hasClass('on')) {
|
||||
$box
|
||||
.removeClass('on')
|
||||
.animate({
|
||||
'width': '30%',
|
||||
'opacity': 0
|
||||
}, 200, 'swing', function () {
|
||||
$box.removeAttr('style');
|
||||
callback && callback();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 启动搜素
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._search = function () {
|
||||
var that = this;
|
||||
if (this.$e.searchText.val() == '') {
|
||||
this.$e.searchText.focus();
|
||||
return;
|
||||
}
|
||||
var words = this.$e.searchText.val();
|
||||
this.$e.resultMsg.show().text('创建搜索中...');
|
||||
if (typeof win.Worker !== "undefined") {
|
||||
//开启一次新搜索时,如果存在搜索子进程,则干掉子进程
|
||||
if (this._worker) {
|
||||
this._worker.terminate();
|
||||
this._worker = null;
|
||||
this.$e.resultMsg.hide();
|
||||
}
|
||||
try {
|
||||
//创建搜素子进程搜素
|
||||
this._worker = new win.Worker('amWiki/js/amWiki.search.worker.js');
|
||||
this._searchByWorker(words);
|
||||
} catch (e) {
|
||||
//在当前环境搜索
|
||||
this._searchByPresent(words);
|
||||
}
|
||||
} else {
|
||||
//在当前环境搜索
|
||||
this._searchByPresent(words);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 搜索子进程通讯
|
||||
* @param {String} words
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._searchByWorker = function (words) {
|
||||
var that = this;
|
||||
//收到子进程搜素消息
|
||||
this._worker.onmessage = function (event) {
|
||||
var data = event.data;
|
||||
//加载成功后发送文档数据
|
||||
if (data.type == 'searcher:loaded') {
|
||||
that._worker.postMessage({type: 'searcher:docs', docs: that._storage.getAllDocs()});
|
||||
}
|
||||
//文档预处理完成后开始搜索
|
||||
else if (data.type == 'searcher:ready') {
|
||||
that.$e.resultMsg.show().html('正在搜索,请稍后...');
|
||||
that._worker.postMessage({type: 'searcher:search', words: words});
|
||||
}
|
||||
//搜索结果排行
|
||||
else if (data.type == 'searcher:result') {
|
||||
that._data.result = data.result;
|
||||
that._showResultList();
|
||||
that._worker.terminate();
|
||||
that._worker = null;
|
||||
}
|
||||
};
|
||||
//子进程出错
|
||||
this._worker.onerror = function (e) {
|
||||
console.error(e);
|
||||
this.$e.resultMsg.show().text('Sorry,出错了!<br/>' + e.msg);
|
||||
that._worker.terminate();
|
||||
that._worker = null;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* 在当前环境搜索
|
||||
* @param {String} words
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._searchByPresent = function (words) {
|
||||
var searcher = new AWSearcher();
|
||||
searcher.initDocs(this._storage.getAllDocs());
|
||||
this.$e.resultMsg.show().html('正在搜索,请稍后...');
|
||||
searcher.matchWords(words);
|
||||
this._data.result = searcher.getResult();
|
||||
this._showResultList();
|
||||
};
|
||||
|
||||
/**
|
||||
* 显示结果列表
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._showResultList = function () {
|
||||
this.$e.results.children('ul').children().remove();
|
||||
this.$e.resultMsg.hide();
|
||||
this._data.pagination = 0;
|
||||
this._nextResultPage();
|
||||
};
|
||||
|
||||
/**
|
||||
* 显示结果列表下一页
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._nextResultPage = function () {
|
||||
var html = '';
|
||||
var count = 0;
|
||||
for (var i = this._data.pagination * this._data.pageSize, item; item = this._data.result[i]; i++) {
|
||||
html += this._renderRankItem(this._data.template, item);
|
||||
//超过页码跳出
|
||||
if (++count >= this._data.pageSize) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.$e.results.children('ul').append(html);
|
||||
this._data.pagination++;
|
||||
//如果还有结果没显示完,显示显示更多按钮
|
||||
if (this._data.pagination * this._data.pageSize >= this._data.result.length) {
|
||||
this.$e.resultMore.hide();
|
||||
} else {
|
||||
this.$e.resultMore.show();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 渲染单条模板
|
||||
* @param {String} template
|
||||
* @param {Object} data
|
||||
* @returns {String}
|
||||
* @private
|
||||
*/
|
||||
Search.prototype._renderRankItem = function (template, data) {
|
||||
var tmpl = template;
|
||||
data.time = win.tools.formatTime(data.timestamp);
|
||||
delete data.timestamp;
|
||||
for (var p in data) {
|
||||
if (data.hasOwnProperty(p)) {
|
||||
tmpl = tmpl.replace(new RegExp('{{' + p + '}}', 'g'), data[p]);
|
||||
}
|
||||
}
|
||||
return tmpl;
|
||||
};
|
||||
|
||||
return win.AWSearch = Search;
|
||||
|
||||
})(window);
|
||||
@@ -1,220 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 搜索计算子进程模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
|
||||
(function (self) {
|
||||
|
||||
'use strict';
|
||||
|
||||
//通过 jQuery 检查判断是否处于子进程工作
|
||||
var atWorker = typeof self.jQuery == 'undefined';
|
||||
|
||||
(function () {
|
||||
|
||||
/**
|
||||
* 搜索计算器
|
||||
* @constructor
|
||||
*/
|
||||
var Searcher = function () {
|
||||
//文档存储
|
||||
this._documents = null;
|
||||
//搜索处理结果
|
||||
this._processing = {};
|
||||
//设置
|
||||
this._data = {
|
||||
//标题命中得分
|
||||
titleScore: 100,
|
||||
//接口地址命中得分
|
||||
apiScore: 50,
|
||||
//单次内容命中得分
|
||||
textScore: 5
|
||||
}
|
||||
};
|
||||
|
||||
//初始文档
|
||||
Searcher.prototype.initDocs = function (docs) {
|
||||
this._documents = atWorker ? docs : JSON.parse(JSON.stringify(docs));
|
||||
for (var id in this._documents) {
|
||||
if (this._documents.hasOwnProperty(id)) {
|
||||
this._preDoc(this._documents[id]);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//文档预处理
|
||||
Searcher.prototype._preDoc = function (doc) {
|
||||
doc.content = doc.content
|
||||
.replace(/^\s+|\s+$/g, '')
|
||||
//分离h1标题
|
||||
.replace(/^#\s?(.*?)[\r|\n]/, function (match, s1) {
|
||||
doc.title = s1;
|
||||
return '';
|
||||
})
|
||||
//分离测试文档请求地址
|
||||
.replace(/([^#]#{3} *请求地址[\n\r]{1,4})([-\w:\/\.]+?)[\n\r]{1,}(#{3} *请求类型[\s\S]+?#{3} *请求参数)/,
|
||||
function (match, s1, s2, s3) {
|
||||
doc.api = s2;
|
||||
return s1 + s3;
|
||||
})
|
||||
//清除 Markdown 标题标记
|
||||
.replace(/#{1,6}(.*?)#{0,6}\s*[\r\n]/g, '$1')
|
||||
//清除 Markdown 强调斜体删除线标记
|
||||
.replace(/[_\*~]{1,2}(.*?)[_\*~]{1,2}/g, '$1')
|
||||
//直接删除 Markdown 图片
|
||||
.replace(/!\[.*?]\(.*?\)/g, '')
|
||||
//清除 Markdown 链接标记,还原为显示文本
|
||||
.replace(/\[(.*?)]\(.*?\)/g, '$1')
|
||||
//清除 Markdown 代码段标记
|
||||
.replace(/`{3}.*?[\n\r]([\s\S]*?)`{3}/g, '$1')
|
||||
//清除 Markdown 代码标记
|
||||
.replace(/`(.*?)`/g, '$1')
|
||||
//直接删除所有 html 标签
|
||||
.replace(/<.+?>/g, '')
|
||||
//清除 Markdown 引用标记
|
||||
.replace(/> *(.+?)[n\r]/g, '$1')
|
||||
//清除 Markdown 分割线标记
|
||||
.replace(/-{3,} *[\n\r]/g, '')
|
||||
//清除 Markdown 表格标记
|
||||
.replace(/(\|.*?[\n\r]{1,2}){3,}/g, function (match) {
|
||||
return match.replace(/\|.*?[\n\r]{1,2}/g, function (match) {
|
||||
if (match.indexOf('---') >= 0) {
|
||||
return '';
|
||||
} else {
|
||||
return match.replace(/\|/g, '');
|
||||
}
|
||||
});
|
||||
})
|
||||
//转换一个空白符为一空格
|
||||
.replace(/[\n\r\t]/g, ' ')
|
||||
//合并多个空白符为一个空格
|
||||
.replace(/\s{2,}/g, ' ');
|
||||
};
|
||||
|
||||
//给中转处理添加属性
|
||||
Searcher.prototype._addPorcessing = function (id, key, value) {
|
||||
//如果不存在此id则创建
|
||||
if (typeof this._processing[id] == 'undefined') {
|
||||
this._processing[id] = {};
|
||||
this._processing[id][key] = value;
|
||||
}
|
||||
//如果存在此id
|
||||
else {
|
||||
//如果不存在此属性,直接赋值
|
||||
if (typeof this._processing[id][key] == 'undefined') {
|
||||
this._processing[id][key] = value;
|
||||
}
|
||||
//如果存在此属性,则相加(仅得分一项)
|
||||
else {
|
||||
this._processing[id][key] += value;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//匹配搜索词与得分计算
|
||||
Searcher.prototype.matchWords = function (words) {
|
||||
var wordsReg = new RegExp(words, 'gi');
|
||||
for (var id in this._documents) {
|
||||
if (this._documents.hasOwnProperty(id)) {
|
||||
//标题命中
|
||||
if (this._documents[id].title) {
|
||||
var titleMatch = this._documents[id].title.match(wordsReg);
|
||||
if (titleMatch && titleMatch.length > 0) {
|
||||
var title = this._documents[id].title.replace(wordsReg, function (match) {
|
||||
return '<mark>' + match + '</mark>';
|
||||
});
|
||||
this._addPorcessing(id, 'title', title);
|
||||
this._addPorcessing(id, 'score', this._data.titleScore);
|
||||
}
|
||||
}
|
||||
//接口地址命中
|
||||
if (this._documents[id].api) {
|
||||
var apiMatch = this._documents[id].api.match(wordsReg);
|
||||
if (apiMatch && apiMatch.length > 0) {
|
||||
var api = '<p class="p1"><em>接口</em>' +
|
||||
this._documents[id].api.replace(wordsReg, function (match) {
|
||||
return '<mark>' + match + '</mark>';
|
||||
}) + '</p>';
|
||||
this._addPorcessing(id, 'api', api);
|
||||
this._addPorcessing(id, 'score', this._data.apiScore);
|
||||
}
|
||||
}
|
||||
//内容命中
|
||||
var contentMatch = this._documents[id].content.match(new RegExp('.{0,15}' + words + '.{0,30}', 'gi'));
|
||||
if (contentMatch) {
|
||||
var content = '<p>';
|
||||
for (var i = 0, item; item = contentMatch[i]; i++) {
|
||||
if (i < 2) {
|
||||
content += item.replace(wordsReg, function (match) {
|
||||
return '<mark>' + match + '</mark>';
|
||||
}) + '... ';
|
||||
}
|
||||
}
|
||||
content += '</p>';
|
||||
this._addPorcessing(id, 'content', content);
|
||||
this._addPorcessing(id, 'score', contentMatch.length * this._data.textScore);
|
||||
}
|
||||
}
|
||||
}
|
||||
this._auxiliary();
|
||||
};
|
||||
|
||||
//辅助得分
|
||||
Searcher.prototype._auxiliary = function () {
|
||||
};
|
||||
|
||||
//排序与属性补齐
|
||||
Searcher.prototype._sortByScore = function () {
|
||||
var list = [];
|
||||
for (var id in this._processing) {
|
||||
if (this._processing.hasOwnProperty(id)) {
|
||||
if (typeof this._processing[id].title == 'undefined') {
|
||||
this._processing[id].title = this._documents[id].title ? this._documents[id].title : '';
|
||||
}
|
||||
if (typeof this._processing[id].api == 'undefined') {
|
||||
this._processing[id].api = '';
|
||||
}
|
||||
if (typeof this._processing[id].content == 'undefined') {
|
||||
this._processing[id].content = '<p>' + this._documents[id].content.substr(0, 45) + '...</p>';
|
||||
}
|
||||
this._processing[id].path = this._documents[id].uri;
|
||||
this._processing[id].timestamp = this._documents[id].timestamp;
|
||||
list.push(this._processing[id]);
|
||||
}
|
||||
}
|
||||
list.sort(function (a, b) {
|
||||
return a.score > b.score ? -1 : 1;
|
||||
});
|
||||
return list;
|
||||
};
|
||||
|
||||
//获取结果
|
||||
Searcher.prototype.getResult = function () {
|
||||
return this._sortByScore();
|
||||
};
|
||||
|
||||
//作为子进程加载时,仅子进程内有效
|
||||
//作为全局加载时,全局有效
|
||||
return this.AWSearcher = Searcher;
|
||||
|
||||
}).call(self);
|
||||
|
||||
//作为子进程工作时,通过 message 通讯工作
|
||||
if (atWorker) {
|
||||
//计算器
|
||||
var searcher = new self.AWSearcher();
|
||||
self.onmessage = function (event) {
|
||||
var data = event.data;
|
||||
if (data.type == 'searcher:docs') {
|
||||
searcher.initDocs(data.docs);
|
||||
self.postMessage({type: 'searcher:ready'});
|
||||
} else if (data.type == 'searcher:search') {
|
||||
searcher.matchWords(data.words);
|
||||
self.postMessage({type: 'searcher:result', result: searcher.getResult()});
|
||||
}
|
||||
};
|
||||
self.postMessage({type: 'searcher:loaded'});
|
||||
}
|
||||
|
||||
})(self);
|
||||
@@ -1,309 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 浏览器数据缓存模块
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;
|
||||
(function (win) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var tools = win.tools;
|
||||
var wikiPath = tools.simString(win.location.pathname.replace('/', '').replace(/\//g, '_')).toUpperCase();
|
||||
var LOCAL_STORAGE_NAME = 'AMWikiDataBase@' + wikiPath; //本地数据localStorage键名
|
||||
var LOCAL_STATES = 'AMWikiStates@' + wikiPath; //本地状态集键名
|
||||
|
||||
/**
|
||||
* 本地存储管理
|
||||
* @constructor
|
||||
*/
|
||||
var Storage = function () {
|
||||
this._db = null; //内存中的文库缓存
|
||||
this._states = null; //内存中的状态集
|
||||
this.$e = {
|
||||
win: $(win),
|
||||
//更新全部缓存按钮
|
||||
searchUpdate: $('#searchUpdate'),
|
||||
//缓存状态
|
||||
cacheState: $('#cacheState'),
|
||||
//文档总数
|
||||
cacheDocTotal: $('#cacheDocTotal'),
|
||||
//上次全部缓存更新时间
|
||||
cacheLasttime: $('#cacheLasttime')
|
||||
};
|
||||
this._bridgeLocalStorage('read');
|
||||
this._bindCtrl();
|
||||
};
|
||||
|
||||
/**
|
||||
* 存取本地存储
|
||||
* @param {String} type - read / save
|
||||
* @private
|
||||
*/
|
||||
Storage.prototype._bridgeLocalStorage = function (type) {
|
||||
if (type == 'read') {
|
||||
var defaultStr = '{"documents":{},"lastBuild":0}';
|
||||
this._db = JSON.parse(win.localStorage[LOCAL_STORAGE_NAME] || defaultStr);
|
||||
//转换旧名称
|
||||
if (typeof this._db.libraries != 'undefined') {
|
||||
this._db.documents = this._db.libraries;
|
||||
delete this._db.libraries;
|
||||
}
|
||||
} else if (type == 'save') {
|
||||
win.localStorage[LOCAL_STORAGE_NAME] = JSON.stringify(this._db);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 绑定操作
|
||||
* @private
|
||||
*/
|
||||
Storage.prototype._bindCtrl = function () {
|
||||
var that = this;
|
||||
this.$e.win.on('beforeunload', function () {
|
||||
that._bridgeLocalStorage('save');
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新一篇文档,如果相同则不操作(对应内容不用重新渲染)
|
||||
* @param {String} uri
|
||||
* @param {String} content
|
||||
* @returns {Boolean}
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.update = function (uri, content) {
|
||||
var id = tools.simString(uri, 'short');
|
||||
if (this._db.documents[id]) {
|
||||
if (this._db.documents[id].content == content) {
|
||||
return false;
|
||||
} else {
|
||||
this.saveDoc(uri, content, id);
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
this.saveDoc(uri, content, id);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 保存一篇文档
|
||||
* @param {String} uri - 文档资源地址
|
||||
* @param {String} content - 文档内容
|
||||
* @param {String} [id] - 已经编码的文档地址,可选
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.saveDoc = function (uri, content, id) {
|
||||
this.saveDocToDB(uri, content, id);
|
||||
this._bridgeLocalStorage('save');
|
||||
this._changeSummary('sateOnly');
|
||||
};
|
||||
|
||||
/**
|
||||
* 将文档存储到内存
|
||||
* @param {String} uri
|
||||
* @param {String} content
|
||||
* @param {String} id
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.saveDocToDB = function (uri, content, id) {
|
||||
if (typeof uri != 'string' && uri == '') {
|
||||
throw new Error('Error, uri must be a string!');
|
||||
}
|
||||
if (typeof id == 'undefined') {
|
||||
id = tools.simString(uri, 'short');
|
||||
}
|
||||
this._db.documents[id] = {
|
||||
id: id,
|
||||
uri: uri,
|
||||
content: content || '',
|
||||
timestamp: Date.now()
|
||||
};
|
||||
this._changeSummary('sateOnly', 'prepare');
|
||||
};
|
||||
|
||||
/**
|
||||
* 读取一篇文档
|
||||
* @param {String} uri - 文档资源地址
|
||||
* @returns {String} 文档内容
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.read = function (uri) {
|
||||
var id = tools.simString(uri, 'short');
|
||||
var article = '';
|
||||
if (this._db.documents[id]) {
|
||||
article = this._db.documents[id].content;
|
||||
}
|
||||
return article;
|
||||
};
|
||||
|
||||
/**
|
||||
* 读取一篇文档的时间
|
||||
* @param {String} uri - 文档资源地址
|
||||
* @returns {String} 文档内容
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.readTime = function (uri) {
|
||||
var id = tools.simString(uri, 'short');
|
||||
if (this._db.documents[id]) {
|
||||
return this._db.documents[id].timestamp;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除一篇文档
|
||||
* @param {String} uri - 文档资源地址
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.remove = function (uri) {
|
||||
var id = tools.simString(uri, 'short');
|
||||
delete this._db.documents[id];
|
||||
this._bridgeLocalStorage('save');
|
||||
this._changeSummary('sateOnly');
|
||||
};
|
||||
|
||||
/**
|
||||
* 增涨文档打开数记录
|
||||
* @param {String} uri
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.increaseOpenedCount = function (uri) {
|
||||
var id = tools.simString(uri, 'short');
|
||||
//TODO: 待续...打开次数将一定程度影响排行
|
||||
};
|
||||
|
||||
/**
|
||||
* 校对列表,清除失效文档
|
||||
* @param {Array} list - 由导航树偏平化生成的文档列表
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.checkLibChange = function (list) {
|
||||
this._indexing = list;
|
||||
var documents = {};
|
||||
var id = '';
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
id = tools.simString(list[i], 'short');
|
||||
if (typeof this._db.documents[id] != 'undefined') {
|
||||
documents[id] = this._db.documents[id];
|
||||
}
|
||||
}
|
||||
this._db.documents = documents;
|
||||
this._bridgeLocalStorage('save');
|
||||
this._changeSummary();
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新缓存摘要(位于搜素面板)
|
||||
* @param {String} stateOnly - 是否为只读 stateOnly / ...
|
||||
* @param {String} prepare - 是否为预先 prepare / ...
|
||||
* @private
|
||||
*/
|
||||
Storage.prototype._changeSummary = function (stateOnly, prepare) {
|
||||
var libraryiesLong = 0;
|
||||
for (var p in this._db.documents) {
|
||||
if (this._db.documents.hasOwnProperty(p)) {
|
||||
libraryiesLong++;
|
||||
}
|
||||
}
|
||||
//如果是预先,百分数减1
|
||||
if (prepare == 'prepare') {
|
||||
this.$e.cacheState.text(parseInt(libraryiesLong / this._indexing.length * 100 - 1) + '%');
|
||||
}
|
||||
//非预先则正常
|
||||
else {
|
||||
this.$e.cacheState.text(parseInt(libraryiesLong / this._indexing.length * 100) + '%');
|
||||
}
|
||||
//如果不只是状态
|
||||
if (stateOnly != 'stateOnly') {
|
||||
this.$e.cacheDocTotal.text(this._indexing.length);
|
||||
if (this._db.lastBuild) {
|
||||
this.$e.cacheLasttime.text(win.tools.formatTime(this._db.lastBuild));
|
||||
} else {
|
||||
this.$e.cacheLasttime.text('0000-00-00 00:00:00');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 清除内存中的库列表
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.clearLibraries = function () {
|
||||
this._db.documents = {};
|
||||
this._changeSummary('sateOnly');
|
||||
};
|
||||
|
||||
/**
|
||||
* 完成本次缓存重建
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.saveRebuild = function () {
|
||||
this._db.lastBuild = Date.now();
|
||||
this._bridgeLocalStorage('save');
|
||||
this._changeSummary();
|
||||
};
|
||||
|
||||
/**
|
||||
* 返回导航列表
|
||||
* @returns {Array}
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.getIndexList = function () {
|
||||
return this._indexing;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前缓存的所有文档
|
||||
* @returns {{Object}}
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.getAllDocs = function () {
|
||||
return this._db.documents;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取缓存最后重建时间
|
||||
* @returns {Number}
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.getLastBuildTs = function () {
|
||||
return this._db.lastBuild;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取本地存储中指定名称的值
|
||||
* @param {String} name
|
||||
* @returns {*}
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.getStates = function (name) {
|
||||
if (!this._states) {
|
||||
this._states = JSON.parse(win.localStorage[LOCAL_STATES] || '{}');
|
||||
}
|
||||
return this._states[name];
|
||||
};
|
||||
|
||||
/**
|
||||
* 保持键值对到本地存储
|
||||
* @param {String} name
|
||||
* @param {*} value
|
||||
* @public
|
||||
*/
|
||||
Storage.prototype.setStates = function (name, value) {
|
||||
if (!this._states) {
|
||||
this._states = JSON.parse(win.localStorage[LOCAL_STATES] || '{}');
|
||||
}
|
||||
if (typeof value == 'undefined') {
|
||||
delete this._states[name];
|
||||
} else {
|
||||
this._states[name] = value;
|
||||
}
|
||||
win.localStorage[LOCAL_STATES] = JSON.stringify(this._states);
|
||||
};
|
||||
|
||||
return win.AWStorage = Storage;
|
||||
|
||||
})(window);
|
||||
@@ -1,461 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端 - 简单 ajax 测试模块
|
||||
* @author Tevin
|
||||
*
|
||||
* @notice 仅当页面存在“请求地址”、“请求类型”、“请求参数”三个h3标题时触发,且参数列表表格顺序不能打乱
|
||||
*/
|
||||
|
||||
(function (win, $) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* 建接口测试
|
||||
* @constructor
|
||||
*/
|
||||
var Testing = function () {
|
||||
//缓存元素
|
||||
this.$e = {
|
||||
win: $(win),
|
||||
//测试面板
|
||||
testingBox: $('#testingBox'),
|
||||
//md文档渲染处
|
||||
view: $('#view'),
|
||||
//上一篇下一篇切换
|
||||
sibling: $('#mainSibling'),
|
||||
//面板显示隐藏按钮
|
||||
testingShow: null,
|
||||
//参数列表的容器
|
||||
testingParam: $('#testingParam')
|
||||
};
|
||||
//缓存数据
|
||||
this._data = {
|
||||
//全局参数列队
|
||||
globalParams: [],
|
||||
//全局参数是否生效
|
||||
globalParamWorking: true,
|
||||
//单条参数模板
|
||||
paramTemplate: $('#template\\:formList').text()
|
||||
};
|
||||
//请求数据
|
||||
this._request = {
|
||||
//请求地址
|
||||
url: '',
|
||||
//请求类型
|
||||
method: '',
|
||||
//请求参数
|
||||
params: [],
|
||||
//全局参数
|
||||
paramGlobal: []
|
||||
};
|
||||
this._useGlobalParam();
|
||||
this._bindPanelCtrl();
|
||||
this._bindAjaxSend();
|
||||
};
|
||||
|
||||
/**
|
||||
* 抓取请求内容,抓取成功才显示按钮
|
||||
* @public
|
||||
*/
|
||||
Testing.prototype.crawlContent = function () {
|
||||
var that = this;
|
||||
var testingReqState = [false, false, false];
|
||||
this.$e.testingShow.removeClass('show');
|
||||
this.$e.view.find('h3').each(function () {
|
||||
var $this = $(this);
|
||||
var name = $.trim($this.text());
|
||||
//抓取请求地址
|
||||
if (name == '请求地址' && !testingReqState[0]) {
|
||||
that._request.url = $.trim($this.next().text());
|
||||
if (that._request.url.indexOf('http') < 0) {
|
||||
if (that._request.url.indexOf('/') == 0) {
|
||||
that._request.url = 'http://' + location.host + that._request.url;
|
||||
} else {
|
||||
that._request.url = 'http://' + location.host + '/' + that._request.url;
|
||||
}
|
||||
}
|
||||
testingReqState[0] = true;
|
||||
}
|
||||
//抓取请求类型
|
||||
else if (name == '请求类型' && !testingReqState[1]) {
|
||||
that._request.method = $.trim($this.next().text()).toUpperCase();
|
||||
var methodState = false;
|
||||
['GET', 'POST', 'PUT', 'DELETE'].forEach(function (value, index) {
|
||||
if (that._request.method == value) {
|
||||
methodState = true;
|
||||
}
|
||||
});
|
||||
if (!methodState) {
|
||||
that._request.method = 'POST';
|
||||
}
|
||||
testingReqState[1] = true;
|
||||
}
|
||||
//抓取请求参数
|
||||
else if (name == '请求参数' && !testingReqState[2]) {
|
||||
//清空参数列表
|
||||
that._request.params.length = 0;
|
||||
//不存在table直接无参数,存在table时开始解析
|
||||
if ($this.next('table').length > 0) {
|
||||
$this.next('table').find('tbody').find('tr').each(function () {
|
||||
var $tds = $(this).find('td');
|
||||
//抓取内容
|
||||
var param = {
|
||||
keyName: $tds.eq(0).text().replace(/^\s+|\s+$/g, ''),
|
||||
valueType: $tds.eq(1).text().replace(/^\s+|\s+$/g, ''),
|
||||
required: $tds.eq(2).text().replace(/^\s+|\s+$/g, ''),
|
||||
describe: $tds.eq(3).text().replace(/^\s+|\s+$/g, ''),
|
||||
default: $tds.eq(4).text().replace(/^\s+|\s+$/g, ''),
|
||||
reference: $tds.eq(5).text().replace(/^\s+|\s+$/g, '')
|
||||
};
|
||||
//修正请求参数,正确键名才添加参数
|
||||
if (param.keyName != '无' && param.keyName != '-' && param.keyName != '') {
|
||||
//“必填”转换
|
||||
if (param.required == '是' || param.required == '必填' || param.required == 'yes' || param.required == 'true') {
|
||||
param.required = 'required';
|
||||
} else {
|
||||
param.required = '';
|
||||
}
|
||||
//“默认值”转换
|
||||
if (param.default == '-' || param.default == '无' || param.default == 'Null' || param.default == 'null') {
|
||||
if (param.reference && param.reference != '-' && param.reference != '无' && param.reference != 'Null' && param.reference != 'null') {
|
||||
param.default = param.reference;
|
||||
} else {
|
||||
param.default = '';
|
||||
}
|
||||
}
|
||||
that._request.params.push(param);
|
||||
}
|
||||
});
|
||||
}
|
||||
testingReqState[2] = true;
|
||||
}
|
||||
});
|
||||
if (testingReqState[0] && testingReqState[1] && testingReqState[2]) {
|
||||
this._initPanel();
|
||||
} else {
|
||||
this._offPanel();
|
||||
}
|
||||
testingReqState = [false, false, false];
|
||||
};
|
||||
|
||||
/**
|
||||
* 关闭测试面板
|
||||
* @private
|
||||
*/
|
||||
Testing.prototype._offPanel = function () {
|
||||
this.$e.testingShow.removeClass('show');
|
||||
if (this.$e.testingShow.hasClass('on')) {
|
||||
this.displayBox('off');
|
||||
}
|
||||
//清除抓取参数
|
||||
this._request.url = '';
|
||||
this._request.method = '';
|
||||
this._request.params = [];
|
||||
//清空请求地址
|
||||
$('#testingSendUrl').val('');
|
||||
//还原请求类型
|
||||
$('#testingSendType').find('option[value="POST"]').prop('selected', true);
|
||||
//清空参数列表
|
||||
this.$e.testingParam.html('');
|
||||
//重置iframe
|
||||
$('#testingResponse')[0].contentWindow.location.reload();
|
||||
};
|
||||
|
||||
/**
|
||||
* 测试面板填充数据
|
||||
* @private
|
||||
*/
|
||||
Testing.prototype._initPanel = function () {
|
||||
this.$e.testingShow.addClass('show');
|
||||
//填充请求地址
|
||||
$('#testingSendUrl').val(this._request.url);
|
||||
//填充请求类型
|
||||
$('#testingSendType').find('option[value="' + this._request.method + '"]').prop('selected', true);
|
||||
//清空现有参数列表
|
||||
this.$e.testingParam.html('');
|
||||
//填充参数列表
|
||||
if (this._request.params.length > 0) {
|
||||
var paramsHTML = '';
|
||||
for (var i = 0; i < this._request.params.length; i++) {
|
||||
paramsHTML += this._data.paramTemplate
|
||||
.replace('{{describe}}', this._request.params[i].describe)
|
||||
.replace('{{keyName}}', this._request.params[i].keyName)
|
||||
.replace('{{default}}', this._request.params[i].default)
|
||||
.replace('{{valueType}}', this._request.params[i].valueType)
|
||||
.replace('{{required}}', this._request.params[i].required);
|
||||
}
|
||||
this.$e.testingParam.append(paramsHTML);
|
||||
} else {
|
||||
this.$e.testingParam.append('<li>无</li>');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 切换测试面板显示隐藏状态
|
||||
* @param {String} type - on / off
|
||||
* @public
|
||||
*/
|
||||
Testing.prototype.displayBox = function (type) {
|
||||
var that = this;
|
||||
if (type == 'off') {
|
||||
this.$e.testingShow.removeClass('on').find('span').text('测试接口');
|
||||
this.$e.testingBox.css({
|
||||
'position': 'absolute'
|
||||
});
|
||||
this.$e.view.show().addClass('scroller-content');
|
||||
this.$e.sibling.addClass('scroller-content').addClass('on');
|
||||
this.$e.testingBox.removeClass('scroller-content').stop().animate({
|
||||
'width': '30%',
|
||||
'opacity': 0
|
||||
}, 200, 'swing', function () {
|
||||
that.$e.testingBox.removeAttr('style');
|
||||
});
|
||||
} else if (type == 'on') {
|
||||
this.$e.testingShow.addClass('on').find('span').text('关闭测试');
|
||||
this.$e.testingBox
|
||||
.css({
|
||||
'display': 'block',
|
||||
'width': '0',
|
||||
'opacity': 0
|
||||
})
|
||||
.stop()
|
||||
.animate({
|
||||
'width': '100%',
|
||||
'opacity': 1
|
||||
}, 300, 'swing', function () {
|
||||
that.$e.view.hide().removeClass('scroller-content');
|
||||
that.$e.sibling.removeClass('scroller-content').removeClass('on');
|
||||
that.$e.testingBox.addClass('scroller-content').css({
|
||||
'position': 'relative'
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 测试面板普通操作
|
||||
* @private
|
||||
*/
|
||||
Testing.prototype._bindPanelCtrl = function () {
|
||||
var that = this;
|
||||
//显示隐藏控制按钮
|
||||
this.$e.testingShow = $('<div class="testing-show">[<span>测试接口</span>]</div>');
|
||||
if (location.protocol == 'file:') {
|
||||
this.$e.testingShow
|
||||
.attr('disabled', 'disabled')
|
||||
.append('<i>您当前为本地模式打开,file:// 协议下不开放接口测试模块,请使用 http(s):// 网址打开</i>');
|
||||
}
|
||||
$('#main').append(this.$e.testingShow);
|
||||
//显示隐藏测试面板
|
||||
this.$e.testingShow.on('click', function () {
|
||||
var $this = that.$e.testingShow;
|
||||
if ($this.attr('disabled') == 'disabled') {
|
||||
$this.toggleClass('on');
|
||||
} else {
|
||||
if (that.$e.testingShow.hasClass('on')) {
|
||||
that.displayBox('off');
|
||||
} else {
|
||||
that.displayBox('on');
|
||||
}
|
||||
}
|
||||
});
|
||||
//填充请求地址
|
||||
$('#testingSendUrl').on('change', function () {
|
||||
that._request.url = $(this).val();
|
||||
});
|
||||
//填充请求类型
|
||||
$('#testingSendType').on('change', function () {
|
||||
that._request.method = $(this).find("option:selected").val();
|
||||
});
|
||||
//清空所有普通参数的值
|
||||
$('#testingBtnReset').on('click', function () {
|
||||
that.$e.testingParam.find('.testing-param-val').val('');
|
||||
});
|
||||
//新增一个参数
|
||||
$('#testingBtnAdd').on('click', function () {
|
||||
var pHTML = that._data.paramTemplate
|
||||
.replace('{{describe}}', '新增参数')
|
||||
.replace('{{keyName}}', '')
|
||||
.replace('{{default}}', '')
|
||||
.replace('({{valueType}})', '')
|
||||
.replace('{{required}}', '');
|
||||
that.$e.testingParam.append(pHTML);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 全局参数模块
|
||||
* @private
|
||||
*/
|
||||
Testing.prototype._useGlobalParam = function () {
|
||||
var that = this;
|
||||
this._data.globalParams = JSON.parse(localStorage['amWikiGlobalParam'] || '[]'); //全局参数
|
||||
var gParamTmpl = $('#template\\:globalParam').text(); //全局参数模板
|
||||
var $testingGlobalParam = $('#testingGlobalParam'); //全局参数显示容器
|
||||
var $testingGlobal = $('#testingGlobal'); //全局参数弹窗
|
||||
this._data.globalParamWorking = (localStorage['amWikiGParamWorking'] || 'on') == 'on'; //全局参数是否工作
|
||||
//显示弹窗
|
||||
$('#testingBtnGParam').on('click', function () {
|
||||
$testingGlobalParam.html('');
|
||||
that._data.globalParams = JSON.parse(localStorage['amWikiGlobalParam'] || '[]');
|
||||
if (that._data.globalParams.length == 0) {
|
||||
$testingGlobalParam.append('<li data-type="empty">无</li>');
|
||||
} else {
|
||||
for (var p = 0; p < that._data.globalParams.length; p++) {
|
||||
$testingGlobalParam.append(gParamTmpl.replace('{{describe}}', that._data.globalParams[p].describe)
|
||||
.replace('{{keyName}}', that._data.globalParams[p].keyName)
|
||||
.replace('{{value}}', that._data.globalParams[p].value));
|
||||
}
|
||||
}
|
||||
$testingGlobal.show();
|
||||
});
|
||||
//基本操作
|
||||
$testingGlobal.on('click', function (e) {
|
||||
var $elm = $(e.target);
|
||||
//关闭
|
||||
if ($elm.hasClass('close') || $elm.hasClass('testing-global')) {
|
||||
$testingGlobal.hide();
|
||||
}
|
||||
//新增
|
||||
else if ($elm.hasClass('add')) {
|
||||
$testingGlobalParam.find('[data-type="empty"]').remove();
|
||||
$testingGlobalParam.append(gParamTmpl.replace('{{describe}}', '')
|
||||
.replace('{{keyName}}', '')
|
||||
.replace('{{value}}', ''));
|
||||
}
|
||||
//保存
|
||||
else if ($elm.hasClass('save')) {
|
||||
that._data.globalParams.length = 0;
|
||||
$testingGlobalParam.find('li').each(function (i, elment) {
|
||||
var $inputs = $(this).find('input');
|
||||
if ($inputs.eq(1).val()) {
|
||||
that._data.globalParams.push({
|
||||
describe: $inputs.eq(0).val(),
|
||||
keyName: $inputs.eq(1).val(),
|
||||
value: $inputs.eq(2).val()
|
||||
});
|
||||
}
|
||||
});
|
||||
localStorage['amWikiGlobalParam'] = JSON.stringify(that._data.globalParams);
|
||||
$testingGlobal.hide();
|
||||
}
|
||||
});
|
||||
//删除参数
|
||||
$testingGlobalParam.on('click', 'i', function () {
|
||||
$(this).parent().remove();
|
||||
if ($testingGlobalParam.find('li').length == 0) {
|
||||
$testingGlobalParam.append('<li data-type="empty">无</li>');
|
||||
}
|
||||
});
|
||||
$('#testingGlobalWorking').on('click', function () {
|
||||
if (that._data.globalParamWorking) {
|
||||
that._data.globalParamWorking = false;
|
||||
localStorage['amWikiGParamWorking'] = 'off';
|
||||
$(this).addClass('off');
|
||||
} else {
|
||||
that._data.globalParamWorking = true;
|
||||
localStorage['amWikiGParamWorking'] = 'on';
|
||||
$(this).removeClass('off');
|
||||
}
|
||||
}).addClass(this._data.globalParamWorking ? '' : 'off');
|
||||
};
|
||||
|
||||
/**
|
||||
* 发送请求操作
|
||||
* @private
|
||||
*/
|
||||
Testing.prototype._bindAjaxSend = function () {
|
||||
var that = this;
|
||||
var frame = $('#testingResponse')[0];
|
||||
var $duration = $('#testingDuration'); //耗时输出
|
||||
var $loading = $('#testingLoading');
|
||||
var $testingParam = $('#testingParam'); //参数列表
|
||||
$('#testingBtnSend').on('click', function () {
|
||||
$duration.text('');
|
||||
var realParam = {}; //合并参数列表
|
||||
//从面板获取最新(可能已修改)接口参数
|
||||
if ($testingParam.find('input').length > 0) {
|
||||
$testingParam.find('li').each(function () {
|
||||
var $this = $(this);
|
||||
realParam[$this.find('.testing-param-key').val()] = $this.find('.testing-param-val').val();
|
||||
});
|
||||
}
|
||||
//全局参数
|
||||
if (that._data.globalParams.length > 0 && that._data.globalParamWorking) {
|
||||
for (var i = 0; i < that._data.globalParams.length; i++) {
|
||||
realParam[that._data.globalParams[i].keyName] = that._data.globalParams[i].value;
|
||||
}
|
||||
}
|
||||
frame.contentWindow.location.reload(); //刷新iframe以便重新输出内容
|
||||
$loading.show();
|
||||
var startTime = Date.now();
|
||||
$.ajax({
|
||||
type: that._request.method,
|
||||
url: that._request.url,
|
||||
data: realParam,
|
||||
dataType: 'text',
|
||||
success: function (data) {
|
||||
$loading.hide();
|
||||
$duration.text('耗时:' + parseFloat(Date.now() - startTime).toLocaleString() + ' ms');
|
||||
var $frameBody = $(frame.contentWindow.document).find('body');
|
||||
$frameBody.css('wordBreak', 'break-all');
|
||||
if (/^\s*\{[\s\S]*\}\s*$/.test(data)) {
|
||||
$frameBody[0].innerHTML = '<pre style="white-space:pre-wrap;word-break:break-all;"><pre>';
|
||||
//json格式化输出
|
||||
$frameBody.find('pre').text(win.tools.formatJson(data));
|
||||
} else {
|
||||
$frameBody[0].innerHTML = data.replace(/<!(doctype|DOCTYPE)\s+(html|HTML)>/, '');
|
||||
}
|
||||
setTimeout(function () {
|
||||
$(frame).height($frameBody.height());
|
||||
}, 100);
|
||||
},
|
||||
error: function (xhr, textStatus) {
|
||||
$loading.hide();
|
||||
$duration.text('耗时:' + parseFloat(Date.now() - startTime).toLocaleString() + ' ms');
|
||||
var $frameBody = $(frame.contentWindow.document).find('body');
|
||||
$frameBody.css('wordBreak', 'break-all');
|
||||
var html = '<div style="margin-bottom:20px;padding:10px;background:#ffebe5;">HTTP Status: <b>' +
|
||||
xhr.status + '</b> ' + xhr.statusText + '</div>';
|
||||
//根据readyState简单判断跨域
|
||||
if (xhr.readyState == 0) {
|
||||
html += '<div style="font-size:14px;">请求未发送!可能是因为:' +
|
||||
'<ul style="line-height:22px;">' +
|
||||
'<li>请求了<b style="color:#FF201E;margin-right:1px;">跨域</b>地址</li>' +
|
||||
'<li>接口被302重定向到跨域地址</li>' +
|
||||
'<li>其他原因</li>' +
|
||||
'</ul></div>';
|
||||
$frameBody[0].innerHTML = html;
|
||||
}
|
||||
//不跨域且为json
|
||||
else if (/^\s*\{[\s\S]*\}\s*$/.test(xhr.responseText)) {
|
||||
html += '<pre style="white-space:pre-wrap;word-break:break-all;"><pre>';
|
||||
$frameBody[0].innerHTML = html;
|
||||
//json格式化输出
|
||||
$frameBody.find('pre').text(win.tools.formatJson(xhr.responseText));
|
||||
}
|
||||
//其他不跨域
|
||||
else {
|
||||
html += xhr.responseText.replace(/<!(doctype|DOCTYPE)\s+(html|HTML)>/, '');
|
||||
$frameBody[0].innerHTML = html;
|
||||
}
|
||||
setTimeout(function () {
|
||||
$(frame).height($frameBody.height());
|
||||
}, 100);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 判断测试面板是否处于打开状态
|
||||
* @returns {Boolean}
|
||||
* @public
|
||||
*/
|
||||
Testing.prototype.isOpen = function () {
|
||||
return this.$e.testingShow.hasClass('on');
|
||||
};
|
||||
|
||||
return win.AWTesting = Testing;
|
||||
|
||||
})(window, jQuery);
|
||||
@@ -1,154 +0,0 @@
|
||||
/**
|
||||
* amWiki Web端·工具集
|
||||
* @author Tevin
|
||||
*/
|
||||
|
||||
;
|
||||
(function (win) {
|
||||
|
||||
'use strict';
|
||||
|
||||
return win.tools = {
|
||||
|
||||
/**
|
||||
* 获取url参数
|
||||
* @param {String} name
|
||||
* @returns {String|Null} - 获取的参数
|
||||
*/
|
||||
getURLParameter: function (name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) {
|
||||
return r[2];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 转换字符中每个汉字为两个字符
|
||||
* @param {String} str - 要编码的字符串
|
||||
* @param {String} [mod] - 编码模式选择,可选,normal(默认)一个汉字对应两位字符,short一个汉字对应一位字符
|
||||
* @returns {String} 编码后的字符串
|
||||
*/
|
||||
simString: function (str, mod) {
|
||||
mod = mod == 'short'; //短字符串
|
||||
var str2 = '';
|
||||
var s = '';
|
||||
var encodeURI = win.encodeURI;
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
s = str.substr(i, 1);
|
||||
if (/[\u4e00-\u9fa5]/.test(s)) {
|
||||
encodeURI(s).split('%').forEach(function (item) {
|
||||
if (item == '') {
|
||||
s = [];
|
||||
} else {
|
||||
s.push(parseInt('0x' + item));
|
||||
}
|
||||
});
|
||||
if (mod) {
|
||||
str2 += (s[0] + s[1] + s[2]).toString(16).substr(-1, 1);
|
||||
} else {
|
||||
str2 += (s[0] + s[1] + s[2]).toString(16).substr(-2, 2);
|
||||
}
|
||||
} else {
|
||||
str2 += s;
|
||||
}
|
||||
}
|
||||
return str2;
|
||||
},
|
||||
|
||||
/**
|
||||
* json格式化
|
||||
* @param {String} str - 需要格式化的json字符串
|
||||
* @returns {String} 格式化后的json字符串
|
||||
*/
|
||||
formatJson: function (str) {
|
||||
var json = decodeURI(str.replace(/%([^0-9A-Z]{0,2})/g, '%25$1'));
|
||||
var reg = null,
|
||||
formatted = '',
|
||||
pad = 0,
|
||||
PADDING = ' ';
|
||||
var options = {};
|
||||
// remove newline where '{' or '[' follows ':'
|
||||
options.newlineAfterColonIfBeforeBraceOrBracket = options.newlineAfterColonIfBeforeBraceOrBracket === true;
|
||||
// use a space after a colon
|
||||
options.spaceAfterColon = options.spaceAfterColon !== false;
|
||||
// begin formatting...
|
||||
if (typeof json !== 'string') {
|
||||
json = JSON.stringify(json);
|
||||
} else {
|
||||
json = JSON.parse(json);
|
||||
json = JSON.stringify(json);
|
||||
}
|
||||
// add newline before and after curly braces
|
||||
reg = /([\{\}])/g;
|
||||
json = json.replace(reg, '\r\n$1\r\n');
|
||||
// add newline before and after square brackets
|
||||
reg = /([\[\]])/g;
|
||||
json = json.replace(reg, '\r\n$1\r\n');
|
||||
// add newline after comma
|
||||
reg = /(\,)/g;
|
||||
json = json.replace(reg, '$1\r\n');
|
||||
// remove multiple newlines
|
||||
reg = /(\r\n\r\n)/g;
|
||||
json = json.replace(reg, '\r\n');
|
||||
// remove newlines before commas
|
||||
reg = /\r\n\,/g;
|
||||
json = json.replace(reg, ',');
|
||||
// optional formatting...
|
||||
if (!options.newlineAfterColonIfBeforeBraceOrBracket) {
|
||||
reg = /\:\r\n\{/g;
|
||||
json = json.replace(reg, ':{');
|
||||
reg = /\:\r\n\[/g;
|
||||
json = json.replace(reg, ':[');
|
||||
}
|
||||
if (options.spaceAfterColon) {
|
||||
reg = /"\s*\:/g;
|
||||
json = json.replace(reg, '": ');
|
||||
}
|
||||
$.each(json.split('\r\n'), function (index, node) {
|
||||
var i = 0,
|
||||
indent = 0,
|
||||
padding = '';
|
||||
if (node.match(/\{$/) || node.match(/\[$/)) {
|
||||
indent = 1;
|
||||
} else if (node.match(/\}/) || node.match(/\]/)) {
|
||||
if (pad !== 0) {
|
||||
pad -= 1;
|
||||
}
|
||||
} else {
|
||||
indent = 0;
|
||||
}
|
||||
for (i = 0; i < pad; i++) {
|
||||
padding += PADDING;
|
||||
}
|
||||
formatted += padding + node + '\r\n';
|
||||
pad += indent;
|
||||
});
|
||||
return formatted;
|
||||
},
|
||||
|
||||
/**
|
||||
* 时间戳格式化为日期时间
|
||||
* @param {Number} timestamp - 时间戳
|
||||
* @returns {String} 日期时间
|
||||
*/
|
||||
formatTime: function (timestamp) {
|
||||
var time = new Date(timestamp);
|
||||
var year = time.getFullYear() + '';
|
||||
var month = time.getMonth() + 1;
|
||||
month = month <= 9 ? '0' + month : month;
|
||||
var date = time.getDate();
|
||||
date = date <= 9 ? '0' + date : date;
|
||||
var hour = time.getHours();
|
||||
hour = hour <= 9 ? '0' + hour : hour;
|
||||
var minute = time.getMinutes();
|
||||
minute = minute <= 9 ? '0' + minute : minute;
|
||||
var second = time.getSeconds();
|
||||
second = second <= 9 ? '0' + second : second;
|
||||
return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second;
|
||||
}
|
||||
}
|
||||
|
||||
})(window);
|
||||
6
common/wiki/amWiki/js/flowchart.min.js
vendored
6
common/wiki/amWiki/js/flowchart.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1202
common/wiki/amWiki/js/highlight.min.js
vendored
1202
common/wiki/amWiki/js/highlight.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
!function(r,o){"use strict";var e,i="hljs-ln",l="hljs-ln-line",h="hljs-ln-code",s="hljs-ln-numbers",c="hljs-ln-n",m="data-line-number",a=/\r\n|\r|\n/g;function u(e){for(var n=e.toString(),t=e.anchorNode;"TD"!==t.nodeName;)t=t.parentNode;for(var r=e.focusNode;"TD"!==r.nodeName;)r=r.parentNode;var o=parseInt(t.dataset.lineNumber),a=parseInt(r.dataset.lineNumber);if(o==a)return n;var i,l=t.textContent,s=r.textContent;for(a<o&&(i=o,o=a,a=i,i=l,l=s,s=i);0!==n.indexOf(l);)l=l.slice(1);for(;-1===n.lastIndexOf(s);)s=s.slice(0,-1);for(var c=l,u=function(e){for(var n=e;"TABLE"!==n.nodeName;)n=n.parentNode;return n}(t),d=o+1;d<a;++d){var f=p('.{0}[{1}="{2}"]',[h,m,d]);c+="\n"+u.querySelector(f).textContent}return c+="\n"+s}function n(e){try{var n=o.querySelectorAll("code.hljs,code.nohighlight");for(var t in n)n.hasOwnProperty(t)&&(n[t].classList.contains("nohljsln")||d(n[t],e))}catch(e){r.console.error("LineNumbers error: ",e)}}function d(e,n){"object"==typeof e&&r.setTimeout(function(){e.innerHTML=f(e,n)},0)}function f(e,n){var t,r,o=(t=e,{singleLine:function(e){return!!e.singleLine&&e.singleLine}(r=(r=n)||{}),startFrom:function(e,n){var t=1;isFinite(n.startFrom)&&(t=n.startFrom);var r=function(e,n){return e.hasAttribute(n)?e.getAttribute(n):null}(e,"data-ln-start-from");return null!==r&&(t=function(e,n){if(!e)return n;var t=Number(e);return isFinite(t)?t:n}(r,1)),t}(t,r)});return function e(n){var t=n.childNodes;for(var r in t){var o;t.hasOwnProperty(r)&&(o=t[r],0<(o.textContent.trim().match(a)||[]).length&&(0<o.childNodes.length?e(o):v(o.parentNode)))}}(e),function(e,n){var t=g(e);""===t[t.length-1].trim()&&t.pop();if(1<t.length||n.singleLine){for(var r="",o=0,a=t.length;o<a;o++)r+=p('<tr><td class="{0} {1}" {3}="{5}"><div class="{2}" {3}="{5}"></div></td><td class="{0} {4}" {3}="{5}">{6}</td></tr>',[l,s,c,m,h,o+n.startFrom,0<t[o].length?t[o]:" "]);return p('<table class="{0}">{1}</table>',[i,r])}return e}(e.innerHTML,o)}function v(e){var n=e.className;if(/hljs-/.test(n)){for(var t=g(e.innerHTML),r=0,o="";r<t.length;r++){o+=p('<span class="{0}">{1}</span>\n',[n,0<t[r].length?t[r]:" "])}e.innerHTML=o.trim()}}function g(e){return 0===e.length?[]:e.split(a)}function p(e,t){return e.replace(/\{(\d+)\}/g,function(e,n){return void 0!==t[n]?t[n]:e})}r.hljs?(r.hljs.initLineNumbersOnLoad=function(e){"interactive"===o.readyState||"complete"===o.readyState?n(e):r.addEventListener("DOMContentLoaded",function(){n(e)})},r.hljs.lineNumbersBlock=d,r.hljs.lineNumbersValue=function(e,n){if("string"!=typeof e)return;var t=document.createElement("code");return t.innerHTML=e,f(t,n)},(e=o.createElement("style")).type="text/css",e.innerHTML=p(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[i,c,m]),o.getElementsByTagName("head")[0].appendChild(e)):r.console.error("highlight.js not detected!"),document.addEventListener("copy",function(e){var n,t=window.getSelection();!function(e){for(var n=e;n;){if(n.className&&-1!==n.className.indexOf("hljs-ln-code"))return 1;n=n.parentNode}}(t.anchorNode)||(n=-1!==window.navigator.userAgent.indexOf("Edge")?u(t):t.toString(),e.clipboardData.setData("text/plain",n),e.preventDefault())})}(window,document);
|
||||
5
common/wiki/amWiki/js/jquery-1.11.3.min.js
vendored
5
common/wiki/amWiki/js/jquery-1.11.3.min.js
vendored
File diff suppressed because one or more lines are too long
54
common/wiki/amWiki/js/language/arduino.min.js
vendored
54
common/wiki/amWiki/js/language/arduino.min.js
vendored
@@ -1,54 +0,0 @@
|
||||
/*! `arduino` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const t={
|
||||
type:["boolean","byte","word","String"],
|
||||
built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],
|
||||
_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],
|
||||
literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]
|
||||
},r=(e=>{const t=e.regex,r=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]
|
||||
}),n="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",i="(?!struct)("+n+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",s={
|
||||
className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{
|
||||
begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
|
||||
begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
|
||||
end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
|
||||
begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={
|
||||
className:"number",variants:[{begin:"\\b(0b[01']+)"},{
|
||||
begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
|
||||
},{
|
||||
begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
|
||||
}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
|
||||
keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
|
||||
},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{
|
||||
className:"string",begin:/<.*?>/},r,e.C_BLOCK_COMMENT_MODE]},d={
|
||||
className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0
|
||||
},u=t.optional(a)+e.IDENT_RE+"\\s*\\(",p={
|
||||
type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],
|
||||
keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],
|
||||
literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],
|
||||
_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]
|
||||
},m={className:"function.dispatch",relevance:0,keywords:{
|
||||
_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]
|
||||
},
|
||||
begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))
|
||||
},g=[m,c,s,r,e.C_BLOCK_COMMENT_MODE,l,o],_={variants:[{begin:/=/,end:/;/},{
|
||||
begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
|
||||
keywords:p,contains:g.concat([{begin:/\(/,end:/\)/,keywords:p,
|
||||
contains:g.concat(["self"]),relevance:0}]),relevance:0},h={className:"function",
|
||||
begin:"("+i+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
|
||||
keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:p,relevance:0},{
|
||||
begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{
|
||||
begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{
|
||||
className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,
|
||||
contains:[r,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:p,
|
||||
relevance:0,contains:["self",r,e.C_BLOCK_COMMENT_MODE,o,l,s]}]
|
||||
},s,r,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",
|
||||
aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",
|
||||
classNameAliases:{"function.dispatch":"built_in"},
|
||||
contains:[].concat(_,h,m,g,[c,{
|
||||
begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",
|
||||
end:">",keywords:p,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:p},{
|
||||
match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],
|
||||
className:{1:"keyword",3:"title.class"}}])}})(e),n=r.keywords
|
||||
;return n.type=[...n.type,...t.type],
|
||||
n.literal=[...n.literal,...t.literal],n.built_in=[...n.built_in,...t.built_in],
|
||||
n._hints=t._hints,r.name="Arduino",r.aliases=["ino"],r.supersetOf="cpp",r}})()
|
||||
;hljs.registerLanguage("arduino",e)})();
|
||||
20
common/wiki/amWiki/js/language/bash.min.js
vendored
20
common/wiki/amWiki/js/language/bash.min.js
vendored
@@ -1,20 +0,0 @@
|
||||
/*! `bash` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/,
|
||||
end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{
|
||||
className:"variable",variants:[{
|
||||
begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={
|
||||
className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={
|
||||
begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,
|
||||
end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/,
|
||||
contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={begin:/\$?\(\(/,
|
||||
end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]
|
||||
},r=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10
|
||||
}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,
|
||||
contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{
|
||||
name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,
|
||||
keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],
|
||||
literal:["true","false"],
|
||||
built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]
|
||||
},contains:[r,e.SHEBANG(),l,o,e.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},c,{
|
||||
className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}})()
|
||||
;hljs.registerLanguage("bash",e)})();
|
||||
40
common/wiki/amWiki/js/language/c.min.js
vendored
40
common/wiki/amWiki/js/language/c.min.js
vendored
@@ -1,40 +0,0 @@
|
||||
/*! `c` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,t=e.COMMENT("//","$",{
|
||||
contains:[{begin:/\\\n/}]
|
||||
}),s="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",r="("+s+"|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",i={
|
||||
className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{
|
||||
match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{
|
||||
begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
|
||||
begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
|
||||
end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
|
||||
begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={
|
||||
className:"number",variants:[{begin:"\\b(0b[01']+)"},{
|
||||
begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
|
||||
},{
|
||||
begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
|
||||
}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
|
||||
keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
|
||||
},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{
|
||||
className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={
|
||||
className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0
|
||||
},g=n.optional(a)+e.IDENT_RE+"\\s*\\(",u={
|
||||
keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],
|
||||
type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],
|
||||
literal:"true false NULL",
|
||||
built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"
|
||||
},m=[c,i,t,e.C_BLOCK_COMMENT_MODE,o,l],_={variants:[{begin:/=/,end:/;/},{
|
||||
begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
|
||||
keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u,
|
||||
contains:m.concat(["self"]),relevance:0}]),relevance:0},p={
|
||||
begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
|
||||
keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:u,relevance:0},{
|
||||
begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],
|
||||
relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,
|
||||
keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,o,i,{begin:/\(/,
|
||||
end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,l,o,i]
|
||||
}]},i,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u,
|
||||
disableAutodetect:!0,illegal:"</",contains:[].concat(_,p,m,[c,{
|
||||
begin:e.IDENT_RE+"::",keywords:u},{className:"class",
|
||||
beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{
|
||||
beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,
|
||||
strings:l,keywords:u}}}})();hljs.registerLanguage("c",e)})();
|
||||
47
common/wiki/amWiki/js/language/cpp.min.js
vendored
47
common/wiki/amWiki/js/language/cpp.min.js
vendored
@@ -1,47 +0,0 @@
|
||||
/*! `cpp` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,a=e.COMMENT("//","$",{
|
||||
contains:[{begin:/\\\n/}]
|
||||
}),n="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+n+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",s={
|
||||
className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{
|
||||
begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
|
||||
begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
|
||||
end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
|
||||
begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={
|
||||
className:"number",variants:[{begin:"\\b(0b[01']+)"},{
|
||||
begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
|
||||
},{
|
||||
begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
|
||||
}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
|
||||
keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
|
||||
},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{
|
||||
className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},d={
|
||||
className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0
|
||||
},u=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={
|
||||
type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],
|
||||
keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],
|
||||
literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],
|
||||
_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]
|
||||
},_={className:"function.dispatch",relevance:0,keywords:{
|
||||
_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]
|
||||
},
|
||||
begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))
|
||||
},m=[_,l,s,a,e.C_BLOCK_COMMENT_MODE,o,c],g={variants:[{begin:/=/,end:/;/},{
|
||||
begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
|
||||
keywords:p,contains:m.concat([{begin:/\(/,end:/\)/,keywords:p,
|
||||
contains:m.concat(["self"]),relevance:0}]),relevance:0},f={className:"function",
|
||||
begin:"("+i+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
|
||||
keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:p,relevance:0},{
|
||||
begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{
|
||||
begin:/:/,endsWithParent:!0,contains:[c,o]},{relevance:0,match:/,/},{
|
||||
className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,
|
||||
contains:[a,e.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/,end:/\)/,keywords:p,
|
||||
relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,c,o,s]}]
|
||||
},s,a,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",
|
||||
aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",
|
||||
classNameAliases:{"function.dispatch":"built_in"},
|
||||
contains:[].concat(g,f,_,m,[l,{
|
||||
begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",
|
||||
end:">",keywords:p,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:p},{
|
||||
match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],
|
||||
className:{1:"keyword",3:"title.class"}}])}}})();hljs.registerLanguage("cpp",e)
|
||||
})();
|
||||
31
common/wiki/amWiki/js/language/css.min.js
vendored
31
common/wiki/amWiki/js/language/css.min.js
vendored
File diff suppressed because one or more lines are too long
78
common/wiki/amWiki/js/language/javascript.min.js
vendored
78
common/wiki/amWiki/js/language/javascript.min.js
vendored
@@ -1,78 +0,0 @@
|
||||
/*! `javascript` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict"
|
||||
;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(r,t,s)
|
||||
;return o=>{const l=o.regex,b=e,d={begin:/<[A-Za-z0-9\\._:-]+/,
|
||||
end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{
|
||||
const a=e[0].length+e.index,t=e.input[a]
|
||||
;if("<"===t||","===t)return void n.ignoreMatch();let s
|
||||
;">"===t&&(((e,{after:n})=>{const a="</"+e[0].slice(1)
|
||||
;return-1!==e.input.indexOf(a,n)})(e,{after:a})||n.ignoreMatch())
|
||||
;const r=e.input.substring(a)
|
||||
;((s=r.match(/^\s*=/))||(s=r.match(/^\s+extends\s+/))&&0===s.index)&&n.ignoreMatch()
|
||||
}},g={$pattern:e,keyword:n,literal:a,built_in:i,"variable.language":c
|
||||
},u="[0-9](_?[0-9])*",m=`\\.(${u})`,E="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",A={
|
||||
className:"number",variants:[{
|
||||
begin:`(\\b(${E})((${m})|\\.)?|(${m}))[eE][+-]?(${u})\\b`},{
|
||||
begin:`\\b(${E})\\b((${m})\\b|\\.)?|(${m})\\b`},{
|
||||
begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{
|
||||
begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{
|
||||
begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{
|
||||
begin:"\\b0[0-7]+n?\\b"}],relevance:0},y={className:"subst",begin:"\\$\\{",
|
||||
end:"\\}",keywords:g,contains:[]},N={begin:"html`",end:"",starts:{end:"`",
|
||||
returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,y],subLanguage:"xml"}},h={
|
||||
begin:"css`",end:"",starts:{end:"`",returnEnd:!1,
|
||||
contains:[o.BACKSLASH_ESCAPE,y],subLanguage:"css"}},_={className:"string",
|
||||
begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,y]},f={className:"comment",
|
||||
variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{
|
||||
begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",
|
||||
begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,
|
||||
excludeBegin:!0,relevance:0},{className:"variable",begin:b+"(?=\\s*(-)|$)",
|
||||
endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]
|
||||
}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]
|
||||
},v=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,N,h,_,{match:/\$\d+/},A]
|
||||
;y.contains=v.concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(v)
|
||||
});const p=[].concat(f,y.contains),S=p.concat([{begin:/\(/,end:/\)/,keywords:g,
|
||||
contains:["self"].concat(p)}]),w={className:"params",begin:/\(/,end:/\)/,
|
||||
excludeBegin:!0,excludeEnd:!0,keywords:g,contains:S},R={variants:[{
|
||||
match:[/class/,/\s+/,b,/\s+/,/extends/,/\s+/,l.concat(b,"(",l.concat(/\./,b),")*")],
|
||||
scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{
|
||||
match:[/class/,/\s+/,b],scope:{1:"keyword",3:"title.class"}}]},O={relevance:0,
|
||||
match:l.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),
|
||||
className:"title.class",keywords:{_:[...t,...s]}},k={variants:[{
|
||||
match:[/function/,/\s+/,b,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],
|
||||
className:{1:"keyword",3:"title.function"},label:"func.def",contains:[w],
|
||||
illegal:/%/},I={
|
||||
match:l.concat(/\b/,(x=[...r,"super","import"],l.concat("(?!",x.join("|"),")")),b,l.lookahead(/\(/)),
|
||||
className:"title.function",relevance:0};var x;const T={
|
||||
begin:l.concat(/\./,l.lookahead(l.concat(b,/(?![0-9A-Za-z$_(])/))),end:b,
|
||||
excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},C={
|
||||
match:[/get|set/,/\s+/,b,/(?=\()/],className:{1:"keyword",3:"title.function"},
|
||||
contains:[{begin:/\(\)/},w]
|
||||
},M="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={
|
||||
match:[/const|var|let/,/\s+/,b,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(M)],
|
||||
keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]}
|
||||
;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{
|
||||
PARAMS_CONTAINS:S,CLASS_REFERENCE:O},illegal:/#(?![$_A-z])/,
|
||||
contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{
|
||||
label:"use_strict",className:"meta",relevance:10,
|
||||
begin:/^\s*['"]use (strict|asm)['"]/
|
||||
},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,N,h,_,f,{match:/\$\d+/},A,O,{
|
||||
className:"attr",begin:b+l.lookahead(":"),relevance:0},$,{
|
||||
begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",
|
||||
keywords:"return throw case",relevance:0,contains:[f,o.REGEXP_MODE,{
|
||||
className:"function",begin:M,returnBegin:!0,end:"\\s*=>",contains:[{
|
||||
className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{
|
||||
className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,
|
||||
excludeEnd:!0,keywords:g,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,
|
||||
relevance:0},{variants:[{begin:"<>",end:"</>"},{
|
||||
match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d.begin,
|
||||
"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{
|
||||
begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},k,{
|
||||
beginKeywords:"while if switch catch for"},{
|
||||
begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
|
||||
returnBegin:!0,label:"func.def",contains:[w,o.inherit(o.TITLE_MODE,{begin:b,
|
||||
className:"title.function"})]},{match:/\.\.\./,relevance:0},T,{match:"\\$"+b,
|
||||
relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},
|
||||
contains:[w]},I,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,
|
||||
className:"variable.constant"},R,C,{match:/\$[(.]/}]}}})()
|
||||
;hljs.registerLanguage("javascript",e)})();
|
||||
7
common/wiki/amWiki/js/language/json.min.js
vendored
7
common/wiki/amWiki/js/language/json.min.js
vendored
@@ -1,7 +0,0 @@
|
||||
/*! `json` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const a=["true","false","null"],n={
|
||||
scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",keywords:{
|
||||
literal:a},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,
|
||||
relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0
|
||||
},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],
|
||||
illegal:"\\S"}}})();hljs.registerLanguage("json",e)})();
|
||||
15
common/wiki/amWiki/js/language/lua.min.js
vendored
15
common/wiki/amWiki/js/language/lua.min.js
vendored
@@ -1,15 +0,0 @@
|
||||
/*! `lua` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const t="\\[=*\\[",a="\\]=*\\]",n={
|
||||
begin:t,end:a,contains:["self"]
|
||||
},o=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,a,{contains:[n],relevance:10
|
||||
})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,
|
||||
literal:"true false nil",
|
||||
keyword:"and break do else elseif end for goto if in local not or repeat return then until while",
|
||||
built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"
|
||||
},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",
|
||||
contains:[e.inherit(e.TITLE_MODE,{
|
||||
begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",
|
||||
begin:"\\(",endsWithParent:!0,contains:o}].concat(o)
|
||||
},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",
|
||||
begin:t,end:a,contains:[n],relevance:5}])}}})();hljs.registerLanguage("lua",e)
|
||||
})();
|
||||
@@ -1,5 +0,0 @@
|
||||
/*! `node-repl` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var a=(()=>{"use strict";return a=>({name:"Node REPL",contains:[{
|
||||
className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",
|
||||
subLanguage:"javascript"}},variants:[{begin:/^>(?=[ ]|$)/},{
|
||||
begin:/^\.\.\.(?=[ ]|$)/}]}]})})();hljs.registerLanguage("node-repl",a)})();
|
||||
@@ -1,5 +0,0 @@
|
||||
/*! `python-repl` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var a=(()=>{"use strict";return a=>({aliases:["pycon"],contains:[{
|
||||
className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}
|
||||
},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]})})()
|
||||
;hljs.registerLanguage("python-repl",a)})();
|
||||
41
common/wiki/amWiki/js/language/python.min.js
vendored
41
common/wiki/amWiki/js/language/python.min.js
vendored
@@ -1,41 +0,0 @@
|
||||
/*! `python` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{
|
||||
const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={
|
||||
$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,
|
||||
built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],
|
||||
literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],
|
||||
type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]
|
||||
},t={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,
|
||||
end:/\}/,keywords:s,illegal:/#/},l={begin:/\{\{/,relevance:0},b={
|
||||
className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{
|
||||
begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,
|
||||
contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{
|
||||
begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,
|
||||
contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{
|
||||
begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,
|
||||
contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,
|
||||
end:/"""/,contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([uU]|[rR])'/,end:/'/,
|
||||
relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{
|
||||
begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,
|
||||
end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,
|
||||
contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,
|
||||
contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]
|
||||
},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,d="\\b|"+i.join("|"),g={
|
||||
className:"number",relevance:0,variants:[{
|
||||
begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{
|
||||
begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{
|
||||
begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`
|
||||
},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${o})[jJ](?=${d})`
|
||||
}]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:s,
|
||||
contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={
|
||||
className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,
|
||||
end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,
|
||||
contains:["self",t,g,b,e.HASH_COMMENT_MODE]}]};return r.contains=[b,g,t],{
|
||||
name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s,
|
||||
illegal:/(<\/|->|\?)|=>/,contains:[t,g,{begin:/\bself\b/},{beginKeywords:"if",
|
||||
relevance:0},b,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{
|
||||
1:"keyword",3:"title.function"},contains:[m]},{variants:[{
|
||||
match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],
|
||||
scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{
|
||||
className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,b]}]}}})()
|
||||
;hljs.registerLanguage("python",e)})();
|
||||
5
common/wiki/amWiki/js/language/shell.min.js
vendored
5
common/wiki/amWiki/js/language/shell.min.js
vendored
@@ -1,5 +0,0 @@
|
||||
/*! `shell` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session",
|
||||
aliases:["console","shellsession"],contains:[{className:"meta.prompt",
|
||||
begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,
|
||||
subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();
|
||||
29
common/wiki/amWiki/js/language/xml.min.js
vendored
29
common/wiki/amWiki/js/language/xml.min.js
vendored
@@ -1,29 +0,0 @@
|
||||
/*! `xml` grammar compiled for Highlight.js 11.7.0 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{
|
||||
const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={
|
||||
className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,
|
||||
contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]
|
||||
},i=e.inherit(t,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{
|
||||
className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),r={
|
||||
endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",
|
||||
begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{
|
||||
className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[s]},{
|
||||
begin:/'/,end:/'/,contains:[s]},{begin:/[^\s"'=<>`]+/}]}]}]};return{
|
||||
name:"HTML, XML",
|
||||
aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],
|
||||
case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,
|
||||
end:/>/,relevance:10,contains:[t,l,c,i,{begin:/\[/,end:/\]/,contains:[{
|
||||
className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,i,l,c]}]}]
|
||||
},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,
|
||||
relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,
|
||||
relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",
|
||||
begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{
|
||||
end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",
|
||||
begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{
|
||||
end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{
|
||||
className:"tag",begin:/<>|<\/>/},{className:"tag",
|
||||
begin:a.concat(/</,a.lookahead(a.concat(n,a.either(/\/>/,/>/,/\s/)))),
|
||||
end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:r}]},{
|
||||
className:"tag",begin:a.concat(/<\//,a.lookahead(a.concat(n,/>/))),contains:[{
|
||||
className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}
|
||||
})();hljs.registerLanguage("xml",e)})();
|
||||
6
common/wiki/amWiki/js/marked.min.js
vendored
6
common/wiki/amWiki/js/marked.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,457 +0,0 @@
|
||||
/**
|
||||
* Convert Chinese to Pinyin
|
||||
* 未知作者
|
||||
* 不能识别多音字
|
||||
*/
|
||||
|
||||
var PinYin = (function () {
|
||||
|
||||
var py = {
|
||||
"a": "\u554a\u963f\u9515",
|
||||
"ai": "\u57c3\u6328\u54ce\u5509\u54c0\u7691\u764c\u853c\u77ee\u827e\u788d\u7231\u9698\u8bf6\u6371\u55f3\u55cc\u5ad2\u7477\u66a7\u7839\u953f\u972d",
|
||||
"an": "\u978d\u6c28\u5b89\u4ffa\u6309\u6697\u5cb8\u80fa\u6848\u8c19\u57ef\u63de\u72b4\u5eb5\u6849\u94f5\u9e4c\u9878\u9eef",
|
||||
"ang": "\u80ae\u6602\u76ce",
|
||||
"ao": "\u51f9\u6556\u71ac\u7ff1\u8884\u50b2\u5965\u61ca\u6fb3\u5773\u62d7\u55f7\u5662\u5c99\u5ed2\u9068\u5aaa\u9a9c\u8071\u87af\u93ca\u9ccc\u93d6",
|
||||
"ba": "\u82ad\u634c\u6252\u53ed\u5427\u7b06\u516b\u75a4\u5df4\u62d4\u8dcb\u9776\u628a\u8019\u575d\u9738\u7f62\u7238\u8307\u83dd\u8406\u636d\u5c9c\u705e\u6777\u94af\u7c91\u9c85\u9b43",
|
||||
"bai": "\u767d\u67cf\u767e\u6446\u4f70\u8d25\u62dc\u7a17\u859c\u63b0\u97b4",
|
||||
"ban": "\u6591\u73ed\u642c\u6273\u822c\u9881\u677f\u7248\u626e\u62cc\u4f34\u74e3\u534a\u529e\u7eca\u962a\u5742\u8c73\u94a3\u7622\u764d\u8228",
|
||||
"bang": "\u90a6\u5e2e\u6886\u699c\u8180\u7ed1\u68d2\u78c5\u868c\u9551\u508d\u8c24\u84a1\u8783",
|
||||
"bao": "\u82de\u80de\u5305\u8912\u96f9\u4fdd\u5821\u9971\u5b9d\u62b1\u62a5\u66b4\u8c79\u9c8d\u7206\u52f9\u8446\u5b80\u5b62\u7172\u9e28\u8913\u8db5\u9f85",
|
||||
"bo": "\u5265\u8584\u73bb\u83e0\u64ad\u62e8\u94b5\u6ce2\u535a\u52c3\u640f\u94c2\u7b94\u4f2f\u5e1b\u8236\u8116\u818a\u6e24\u6cca\u9a73\u4eb3\u8543\u5575\u997d\u6a97\u64d8\u7934\u94b9\u9e41\u7c38\u8ddb",
|
||||
"bei": "\u676f\u7891\u60b2\u5351\u5317\u8f88\u80cc\u8d1d\u94a1\u500d\u72c8\u5907\u60eb\u7119\u88ab\u5b5b\u9642\u90b6\u57e4\u84d3\u5457\u602b\u6096\u789a\u9e4e\u8919\u943e",
|
||||
"ben": "\u5954\u82ef\u672c\u7b28\u755a\u574c\u951b",
|
||||
"beng": "\u5d29\u7ef7\u752d\u6cf5\u8e66\u8ff8\u552a\u5623\u750f",
|
||||
"bi": "\u903c\u9f3b\u6bd4\u9119\u7b14\u5f7c\u78a7\u84d6\u853d\u6bd5\u6bd9\u6bd6\u5e01\u5e87\u75f9\u95ed\u655d\u5f0a\u5fc5\u8f9f\u58c1\u81c2\u907f\u965b\u5315\u4ef3\u4ffe\u8298\u835c\u8378\u5421\u54d4\u72f4\u5eb3\u610e\u6ed7\u6fde\u5f3c\u59a3\u5a62\u5b16\u74a7\u8d32\u7540\u94cb\u79d5\u88e8\u7b5a\u7b85\u7be6\u822d\u895e\u8df8\u9ac0",
|
||||
"bian": "\u97ad\u8fb9\u7f16\u8d2c\u6241\u4fbf\u53d8\u535e\u8fa8\u8fa9\u8fab\u904d\u533e\u5f01\u82c4\u5fed\u6c74\u7f0f\u7178\u782d\u78a5\u7a39\u7a86\u8759\u7b3e\u9cca",
|
||||
"biao": "\u6807\u5f6a\u8198\u8868\u5a4a\u9aa0\u98d1\u98d9\u98da\u706c\u9556\u9573\u762d\u88f1\u9cd4",
|
||||
"bie": "\u9cd6\u618b\u522b\u762a\u8e69\u9cd8",
|
||||
"bin": "\u5f6c\u658c\u6fd2\u6ee8\u5bbe\u6448\u50a7\u6d5c\u7f24\u73a2\u6ba1\u8191\u9554\u9acc\u9b13",
|
||||
"bing": "\u5175\u51b0\u67c4\u4e19\u79c9\u997c\u70b3\u75c5\u5e76\u7980\u90b4\u6452\u7ee0\u678b\u69df\u71f9",
|
||||
"bu": "\u6355\u535c\u54fa\u8865\u57e0\u4e0d\u5e03\u6b65\u7c3f\u90e8\u6016\u62ca\u535f\u900b\u74ff\u6661\u949a\u91ad",
|
||||
"ca": "\u64e6\u5693\u7924",
|
||||
"cai": "\u731c\u88c1\u6750\u624d\u8d22\u776c\u8e29\u91c7\u5f69\u83dc\u8521",
|
||||
"can": "\u9910\u53c2\u8695\u6b8b\u60ed\u60e8\u707f\u9a96\u74a8\u7cb2\u9eea",
|
||||
"cang": "\u82cd\u8231\u4ed3\u6ca7\u85cf\u4f27",
|
||||
"cao": "\u64cd\u7cd9\u69fd\u66f9\u8349\u8279\u5608\u6f15\u87ac\u825a",
|
||||
"ce": "\u5395\u7b56\u4fa7\u518c\u6d4b\u5202\u5e3b\u607b",
|
||||
"ceng": "\u5c42\u8e6d\u564c",
|
||||
"cha": "\u63d2\u53c9\u832c\u8336\u67e5\u78b4\u643d\u5bdf\u5c94\u5dee\u8be7\u7339\u9987\u6c4a\u59f9\u6748\u6942\u69ce\u6aab\u9497\u9538\u9572\u8869",
|
||||
"chai": "\u62c6\u67f4\u8c7a\u4faa\u8308\u7625\u867f\u9f87",
|
||||
"chan": "\u6400\u63ba\u8749\u998b\u8c17\u7f20\u94f2\u4ea7\u9610\u98a4\u5181\u8c04\u8c36\u8487\u5edb\u5fcf\u6f7a\u6fb6\u5b71\u7fbc\u5a75\u5b17\u9aa3\u89c7\u7985\u9561\u88e3\u87fe\u8e94",
|
||||
"chang": "\u660c\u7316\u573a\u5c1d\u5e38\u957f\u507f\u80a0\u5382\u655e\u7545\u5531\u5021\u4f25\u9b2f\u82cc\u83d6\u5f9c\u6005\u60dd\u960a\u5a3c\u5ae6\u6636\u6c05\u9cb3",
|
||||
"chao": "\u8d85\u6284\u949e\u671d\u5632\u6f6e\u5de2\u5435\u7092\u600a\u7ec9\u6641\u8016",
|
||||
"che": "\u8f66\u626f\u64a4\u63a3\u5f7b\u6f88\u577c\u5c6e\u7817",
|
||||
"chen": "\u90f4\u81e3\u8fb0\u5c18\u6668\u5ff1\u6c89\u9648\u8d81\u886c\u79f0\u8c0c\u62bb\u55d4\u5bb8\u741b\u6987\u809c\u80c2\u789c\u9f80",
|
||||
"cheng": "\u6491\u57ce\u6a59\u6210\u5448\u4e58\u7a0b\u60e9\u6f84\u8bda\u627f\u901e\u9a8b\u79e4\u57d5\u5d4a\u5fb5\u6d48\u67a8\u67fd\u6a18\u665f\u584d\u77a0\u94d6\u88ce\u86cf\u9172",
|
||||
"chi": "\u5403\u75f4\u6301\u5319\u6c60\u8fdf\u5f1b\u9a70\u803b\u9f7f\u4f88\u5c3a\u8d64\u7fc5\u65a5\u70bd\u50ba\u5880\u82aa\u830c\u640b\u53f1\u54e7\u557b\u55e4\u5f73\u996c\u6cb2\u5ab8\u6555\u80dd\u7719\u7735\u9e31\u761b\u892b\u86a9\u87ad\u7b1e\u7bea\u8c49\u8e05\u8e1f\u9b51",
|
||||
"chong": "\u5145\u51b2\u866b\u5d07\u5ba0\u833a\u5fe1\u61a7\u94f3\u825f",
|
||||
"chou": "\u62bd\u916c\u7574\u8e0c\u7a20\u6101\u7b79\u4ec7\u7ef8\u7785\u4e11\u4fe6\u5733\u5e31\u60c6\u6eb4\u59af\u7633\u96e0\u9c8b",
|
||||
"chu": "\u81ed\u521d\u51fa\u6a71\u53a8\u8e87\u9504\u96cf\u6ec1\u9664\u695a\u7840\u50a8\u77d7\u6410\u89e6\u5904\u4e8d\u520d\u61b7\u7ecc\u6775\u696e\u6a17\u870d\u8e70\u9edc",
|
||||
"chuan": "\u63e3\u5ddd\u7a7f\u693d\u4f20\u8239\u5598\u4e32\u63be\u821b\u60f4\u9044\u5ddb\u6c1a\u948f\u9569\u8221",
|
||||
"chuang": "\u75ae\u7a97\u5e62\u5e8a\u95ef\u521b\u6006",
|
||||
"chui": "\u5439\u708a\u6376\u9524\u5782\u9672\u68f0\u69cc",
|
||||
"chun": "\u6625\u693f\u9187\u5507\u6df3\u7eaf\u8822\u4fc3\u83bc\u6c8c\u80ab\u6710\u9e51\u877d",
|
||||
"chuo": "\u6233\u7ef0\u851f\u8fb6\u8f8d\u955e\u8e14\u9f8a",
|
||||
"ci": "\u75b5\u8328\u78c1\u96cc\u8f9e\u6148\u74f7\u8bcd\u6b64\u523a\u8d50\u6b21\u8360\u5472\u5d6f\u9e5a\u8785\u7ccd\u8d91",
|
||||
"cong": "\u806a\u8471\u56f1\u5306\u4ece\u4e1b\u506c\u82c1\u6dd9\u9aa2\u742e\u7481\u679e",
|
||||
"cu": "\u51d1\u7c97\u918b\u7c07\u731d\u6b82\u8e59",
|
||||
"cuan": "\u8e7f\u7be1\u7a9c\u6c46\u64ba\u6615\u7228",
|
||||
"cui": "\u6467\u5d14\u50ac\u8106\u7601\u7cb9\u6dec\u7fe0\u8403\u60b4\u7480\u69b1\u96b9",
|
||||
"cun": "\u6751\u5b58\u5bf8\u78cb\u5fd6\u76b4",
|
||||
"cuo": "\u64ae\u6413\u63aa\u632b\u9519\u539d\u811e\u9509\u77ec\u75e4\u9e7e\u8e49\u8e9c",
|
||||
"da": "\u642d\u8fbe\u7b54\u7629\u6253\u5927\u8037\u54d2\u55d2\u601b\u59b2\u75b8\u8921\u7b2a\u977c\u9791",
|
||||
"dai": "\u5446\u6b79\u50a3\u6234\u5e26\u6b86\u4ee3\u8d37\u888b\u5f85\u902e\u6020\u57ed\u7519\u5454\u5cb1\u8fe8\u902f\u9a80\u7ed0\u73b3\u9edb",
|
||||
"dan": "\u803d\u62c5\u4e39\u5355\u90f8\u63b8\u80c6\u65e6\u6c2e\u4f46\u60ee\u6de1\u8bde\u5f39\u86cb\u4ebb\u510b\u5369\u840f\u5556\u6fb9\u6a90\u6b9a\u8d55\u7708\u7605\u8043\u7baa",
|
||||
"dang": "\u5f53\u6321\u515a\u8361\u6863\u8c20\u51fc\u83ea\u5b95\u7800\u94db\u88c6",
|
||||
"dao": "\u5200\u6363\u8e48\u5012\u5c9b\u7977\u5bfc\u5230\u7a3b\u60bc\u9053\u76d7\u53e8\u5541\u5fc9\u6d2e\u6c18\u7118\u5fd1\u7e9b",
|
||||
"de": "\u5fb7\u5f97\u7684\u951d",
|
||||
"deng": "\u8e6c\u706f\u767b\u7b49\u77aa\u51f3\u9093\u5654\u5d9d\u6225\u78f4\u956b\u7c26",
|
||||
"di": "\u5824\u4f4e\u6ef4\u8fea\u654c\u7b1b\u72c4\u6da4\u7fdf\u5ae1\u62b5\u5e95\u5730\u8482\u7b2c\u5e1d\u5f1f\u9012\u7f14\u6c10\u7c74\u8bcb\u8c1b\u90b8\u577b\u839c\u837b\u5600\u5a23\u67e2\u68e3\u89cc\u7825\u78b2\u7747\u955d\u7f9d\u9ab6",
|
||||
"dian": "\u98a0\u6382\u6ec7\u7898\u70b9\u5178\u975b\u57ab\u7535\u4f43\u7538\u5e97\u60e6\u5960\u6dc0\u6bbf\u4e36\u963d\u576b\u57dd\u5dc5\u73b7\u765c\u766b\u7c1f\u8e2e",
|
||||
"diao": "\u7889\u53fc\u96d5\u51cb\u5201\u6389\u540a\u9493\u8c03\u8f7a\u94de\u8729\u7c9c\u8c82",
|
||||
"die": "\u8dcc\u7239\u789f\u8776\u8fed\u8c0d\u53e0\u4f5a\u57a4\u581e\u63f2\u558b\u6e2b\u8f76\u7252\u74de\u8936\u800b\u8e40\u9cbd\u9cce",
|
||||
"ding": "\u4e01\u76ef\u53ee\u9489\u9876\u9f0e\u952d\u5b9a\u8ba2\u4e22\u4ec3\u5576\u738e\u815a\u7887\u753a\u94e4\u7594\u8035\u914a",
|
||||
"dong": "\u4e1c\u51ac\u8463\u61c2\u52a8\u680b\u4f97\u606b\u51bb\u6d1e\u578c\u549a\u5cbd\u5cd2\u5902\u6c21\u80e8\u80f4\u7850\u9e2b",
|
||||
"dou": "\u515c\u6296\u6597\u9661\u8c46\u9017\u75d8\u8538\u94ad\u7aa6\u7aac\u86aa\u7bfc\u9161",
|
||||
"du": "\u90fd\u7763\u6bd2\u728a\u72ec\u8bfb\u5835\u7779\u8d4c\u675c\u9540\u809a\u5ea6\u6e21\u5992\u828f\u561f\u6e0e\u691f\u6a50\u724d\u8839\u7b03\u9ad1\u9ee9",
|
||||
"duan": "\u7aef\u77ed\u953b\u6bb5\u65ad\u7f0e\u5f56\u6934\u7145\u7c16",
|
||||
"dui": "\u5806\u5151\u961f\u5bf9\u603c\u619d\u7893",
|
||||
"dun": "\u58a9\u5428\u8e72\u6566\u987f\u56e4\u949d\u76fe\u9041\u7096\u7818\u7905\u76f9\u9566\u8db8",
|
||||
"duo": "\u6387\u54c6\u591a\u593a\u579b\u8eb2\u6735\u8dfa\u8235\u5241\u60f0\u5815\u5484\u54da\u7f0d\u67c1\u94ce\u88f0\u8e31",
|
||||
"e": "\u86fe\u5ce8\u9e45\u4fc4\u989d\u8bb9\u5a25\u6076\u5384\u627c\u904f\u9102\u997f\u5669\u8c14\u57a9\u57ad\u82ca\u83aa\u843c\u5443\u6115\u5c59\u5a40\u8f6d\u66f7\u816d\u786a\u9507\u9537\u9e57\u989a\u9cc4",
|
||||
"en": "\u6069\u84bd\u6441\u5514\u55ef",
|
||||
"er": "\u800c\u513f\u8033\u5c14\u9975\u6d31\u4e8c\u8d30\u8fe9\u73e5\u94d2\u9e38\u9c95",
|
||||
"fa": "\u53d1\u7f5a\u7b4f\u4f10\u4e4f\u9600\u6cd5\u73d0\u57a1\u781d",
|
||||
"fan": "\u85e9\u5e06\u756a\u7ffb\u6a0a\u77fe\u9492\u7e41\u51e1\u70e6\u53cd\u8fd4\u8303\u8d29\u72af\u996d\u6cdb\u8629\u5e61\u72ad\u68b5\u6535\u71d4\u7548\u8e6f",
|
||||
"fang": "\u574a\u82b3\u65b9\u80aa\u623f\u9632\u59a8\u4eff\u8bbf\u7eba\u653e\u531a\u90a1\u5f77\u94ab\u822b\u9c82",
|
||||
"fei": "\u83f2\u975e\u5561\u98de\u80a5\u532a\u8bfd\u5420\u80ba\u5e9f\u6cb8\u8d39\u82be\u72d2\u60b1\u6ddd\u5983\u7ecb\u7eef\u69a7\u8153\u6590\u6249\u7953\u7829\u9544\u75f1\u871a\u7bda\u7fe1\u970f\u9cb1",
|
||||
"fen": "\u82ac\u915a\u5429\u6c1b\u5206\u7eb7\u575f\u711a\u6c7e\u7c89\u594b\u4efd\u5fff\u6124\u7caa\u507e\u7035\u68fc\u610d\u9cbc\u9f22",
|
||||
"feng": "\u4e30\u5c01\u67ab\u8702\u5cf0\u950b\u98ce\u75af\u70fd\u9022\u51af\u7f1d\u8bbd\u5949\u51e4\u4ff8\u9146\u8451\u6ca3\u781c",
|
||||
"fu": "\u4f5b\u5426\u592b\u6577\u80a4\u5b75\u6276\u62c2\u8f90\u5e45\u6c1f\u7b26\u4f0f\u4fd8\u670d\u6d6e\u6daa\u798f\u88b1\u5f17\u752b\u629a\u8f85\u4fef\u91dc\u65a7\u812f\u8151\u5e9c\u8150\u8d74\u526f\u8986\u8d4b\u590d\u5085\u4ed8\u961c\u7236\u8179\u8d1f\u5bcc\u8ba3\u9644\u5987\u7f1a\u5490\u5310\u51eb\u90db\u8299\u82fb\u832f\u83a9\u83d4\u544b\u5e5e\u6ecf\u8274\u5b5a\u9a78\u7ec2\u6874\u8d59\u9efb\u9efc\u7f58\u7a03\u99a5\u864d\u86a8\u8709\u8760\u876e\u9eb8\u8dba\u8dd7\u9cc6",
|
||||
"ga": "\u5676\u560e\u86e4\u5c2c\u5477\u5c15\u5c1c\u65ee\u9486",
|
||||
"gai": "\u8be5\u6539\u6982\u9499\u76d6\u6e89\u4e10\u9654\u5793\u6224\u8d45\u80f2",
|
||||
"gan": "\u5e72\u7518\u6746\u67d1\u7aff\u809d\u8d76\u611f\u79c6\u6562\u8d63\u5769\u82f7\u5c34\u64c0\u6cd4\u6de6\u6f89\u7ec0\u6a44\u65f0\u77f8\u75b3\u9150",
|
||||
"gang": "\u5188\u521a\u94a2\u7f38\u809b\u7eb2\u5c97\u6e2f\u6206\u7f61\u9883\u7b7b",
|
||||
"gong": "\u6760\u5de5\u653b\u529f\u606d\u9f9a\u4f9b\u8eac\u516c\u5bab\u5f13\u5de9\u6c5e\u62f1\u8d21\u5171\u857b\u5efe\u54a3\u73d9\u80b1\u86a3\u86e9\u89e5",
|
||||
"gao": "\u7bd9\u768b\u9ad8\u818f\u7f94\u7cd5\u641e\u9550\u7a3f\u544a\u777e\u8bf0\u90dc\u84bf\u85c1\u7f1f\u69d4\u69c1\u6772\u9506",
|
||||
"ge": "\u54e5\u6b4c\u6401\u6208\u9e3d\u80f3\u7599\u5272\u9769\u845b\u683c\u9601\u9694\u94ec\u4e2a\u5404\u9b32\u4ee1\u54ff\u5865\u55dd\u7ea5\u643f\u8188\u784c\u94ea\u9549\u88bc\u988c\u867c\u8238\u9abc\u9ac2",
|
||||
"gei": "\u7ed9",
|
||||
"gen": "\u6839\u8ddf\u4e98\u831b\u54cf\u826e",
|
||||
"geng": "\u8015\u66f4\u5e9a\u7fb9\u57c2\u803f\u6897\u54fd\u8d53\u9ca0",
|
||||
"gou": "\u94a9\u52fe\u6c9f\u82df\u72d7\u57a2\u6784\u8d2d\u591f\u4f5d\u8bdf\u5ca3\u9058\u5abe\u7f11\u89cf\u5f40\u9e32\u7b31\u7bdd\u97b2",
|
||||
"gu": "\u8f9c\u83c7\u5495\u7b8d\u4f30\u6cbd\u5b64\u59d1\u9f13\u53e4\u86ca\u9aa8\u8c37\u80a1\u6545\u987e\u56fa\u96c7\u560f\u8bc2\u83f0\u54cc\u5d2e\u6c69\u688f\u8f71\u726f\u727f\u80cd\u81cc\u6bc2\u77bd\u7f5f\u94b4\u9522\u74e0\u9e2a\u9e44\u75fc\u86c4\u9164\u89da\u9cb4\u9ab0\u9e58",
|
||||
"gua": "\u522e\u74dc\u5250\u5be1\u6302\u8902\u5366\u8bd6\u5471\u681d\u9e39",
|
||||
"guai": "\u4e56\u62d0\u602a\u54d9",
|
||||
"guan": "\u68fa\u5173\u5b98\u51a0\u89c2\u7ba1\u9986\u7f50\u60ef\u704c\u8d2f\u500c\u839e\u63bc\u6dab\u76e5\u9e73\u9ccf",
|
||||
"guang": "\u5149\u5e7f\u901b\u72b7\u6844\u80f1\u7592",
|
||||
"gui": "\u7470\u89c4\u572d\u7845\u5f52\u9f9f\u95fa\u8f68\u9b3c\u8be1\u7678\u6842\u67dc\u8dea\u8d35\u523d\u5326\u523f\u5e8b\u5b84\u59ab\u6867\u7085\u6677\u7688\u7c0b\u9c91\u9cdc",
|
||||
"gun": "\u8f8a\u6eda\u68cd\u4e28\u886e\u7ef2\u78d9\u9ca7",
|
||||
"guo": "\u9505\u90ed\u56fd\u679c\u88f9\u8fc7\u9998\u8803\u57da\u63b4\u5459\u56d7\u5e3c\u5d1e\u7313\u6901\u8662\u951e\u8052\u872e\u873e\u8748",
|
||||
"ha": "\u54c8",
|
||||
"hai": "\u9ab8\u5b69\u6d77\u6c26\u4ea5\u5bb3\u9a87\u54b4\u55e8\u988f\u91a2",
|
||||
"han": "\u9163\u61a8\u90af\u97e9\u542b\u6db5\u5bd2\u51fd\u558a\u7f55\u7ff0\u64bc\u634d\u65f1\u61be\u608d\u710a\u6c57\u6c49\u9097\u83e1\u6496\u961a\u701a\u6657\u7113\u9894\u86b6\u9f3e",
|
||||
"hen": "\u592f\u75d5\u5f88\u72e0\u6068",
|
||||
"hang": "\u676d\u822a\u6c86\u7ed7\u73e9\u6841",
|
||||
"hao": "\u58d5\u568e\u8c6a\u6beb\u90dd\u597d\u8017\u53f7\u6d69\u8585\u55e5\u5686\u6fe0\u704f\u660a\u7693\u98a2\u869d",
|
||||
"he": "\u5475\u559d\u8377\u83cf\u6838\u79be\u548c\u4f55\u5408\u76d2\u8c89\u9602\u6cb3\u6db8\u8d6b\u8910\u9e64\u8d3a\u8bc3\u52be\u58d1\u85ff\u55d1\u55ec\u9616\u76cd\u86b5\u7fee",
|
||||
"hei": "\u563f\u9ed1",
|
||||
"heng": "\u54fc\u4ea8\u6a2a\u8861\u6052\u8a07\u8605",
|
||||
"hong": "\u8f70\u54c4\u70d8\u8679\u9e3f\u6d2a\u5b8f\u5f18\u7ea2\u9ec9\u8ba7\u836d\u85a8\u95f3\u6cd3",
|
||||
"hou": "\u5589\u4faf\u7334\u543c\u539a\u5019\u540e\u5820\u5f8c\u9005\u760a\u7bcc\u7cc7\u9c8e\u9aba",
|
||||
"hu": "\u547c\u4e4e\u5ffd\u745a\u58f6\u846b\u80e1\u8774\u72d0\u7cca\u6e56\u5f27\u864e\u552c\u62a4\u4e92\u6caa\u6237\u51b1\u553f\u56eb\u5cb5\u7322\u6019\u60da\u6d52\u6ef9\u7425\u69f2\u8f77\u89f3\u70c0\u7173\u623d\u6248\u795c\u9e55\u9e71\u7b0f\u9190\u659b",
|
||||
"hua": "\u82b1\u54d7\u534e\u733e\u6ed1\u753b\u5212\u5316\u8bdd\u5290\u6d4d\u9a85\u6866\u94e7\u7a1e",
|
||||
"huai": "\u69d0\u5f8a\u6000\u6dee\u574f\u8fd8\u8e1d",
|
||||
"huan": "\u6b22\u73af\u6853\u7f13\u6362\u60a3\u5524\u75ea\u8c62\u7115\u6da3\u5ba6\u5e7b\u90c7\u5942\u57b8\u64d0\u571c\u6d39\u6d63\u6f36\u5bf0\u902d\u7f33\u953e\u9ca9\u9b1f",
|
||||
"huang": "\u8352\u614c\u9ec4\u78fa\u8757\u7c27\u7687\u51f0\u60f6\u714c\u6643\u5e4c\u604d\u8c0e\u968d\u5fa8\u6e5f\u6f62\u9051\u749c\u8093\u7640\u87e5\u7bc1\u9cc7",
|
||||
"hui": "\u7070\u6325\u8f89\u5fbd\u6062\u86d4\u56de\u6bc1\u6094\u6167\u5349\u60e0\u6666\u8d3f\u79fd\u4f1a\u70e9\u6c47\u8bb3\u8bf2\u7ed8\u8bd9\u8334\u835f\u8559\u54d5\u5599\u96b3\u6d04\u5f57\u7f0b\u73f2\u6656\u605a\u867a\u87ea\u9ebe",
|
||||
"hun": "\u8364\u660f\u5a5a\u9b42\u6d51\u6df7\u8be8\u9984\u960d\u6eb7\u7f17",
|
||||
"huo": "\u8c41\u6d3b\u4f19\u706b\u83b7\u6216\u60d1\u970d\u8d27\u7978\u6509\u56af\u5925\u94ac\u952a\u956c\u8020\u8816",
|
||||
"ji": "\u51fb\u573e\u57fa\u673a\u7578\u7a3d\u79ef\u7b95\u808c\u9965\u8ff9\u6fc0\u8ba5\u9e21\u59ec\u7ee9\u7f09\u5409\u6781\u68d8\u8f91\u7c4d\u96c6\u53ca\u6025\u75be\u6c72\u5373\u5ac9\u7ea7\u6324\u51e0\u810a\u5df1\u84df\u6280\u5180\u5b63\u4f0e\u796d\u5242\u60b8\u6d4e\u5bc4\u5bc2\u8ba1\u8bb0\u65e2\u5fcc\u9645\u5993\u7ee7\u7eaa\u5c45\u4e0c\u4e69\u525e\u4f76\u4f74\u8114\u58bc\u82a8\u82b0\u8401\u84ba\u857a\u638e\u53fd\u54ad\u54dc\u5527\u5c8c\u5d74\u6d0e\u5f50\u5c50\u9aa5\u757f\u7391\u696b\u6b9b\u621f\u6222\u8d4d\u89ca\u7284\u9f51\u77f6\u7f81\u5d47\u7a37\u7620\u7635\u866e\u7b08\u7b04\u66a8\u8dfb\u8dfd\u9701\u9c9a\u9cab\u9afb\u9e82",
|
||||
"jia": "\u5609\u67b7\u5939\u4f73\u5bb6\u52a0\u835a\u988a\u8d3e\u7532\u94be\u5047\u7a3c\u4ef7\u67b6\u9a7e\u5ac1\u4f3d\u90cf\u62ee\u5cac\u6d43\u8fe6\u73c8\u621b\u80db\u605d\u94d7\u9553\u75c2\u86f1\u7b33\u8888\u8dcf",
|
||||
"jian": "\u6b7c\u76d1\u575a\u5c16\u7b3a\u95f4\u714e\u517c\u80a9\u8270\u5978\u7f04\u8327\u68c0\u67ec\u78b1\u7877\u62e3\u6361\u7b80\u4fed\u526a\u51cf\u8350\u69db\u9274\u8df5\u8d31\u89c1\u952e\u7bad\u4ef6\u5065\u8230\u5251\u996f\u6e10\u6e85\u6da7\u5efa\u50ed\u8c0f\u8c2b\u83c5\u84b9\u641b\u56dd\u6e54\u8e47\u8b07\u7f23\u67a7\u67d9\u6957\u620b\u622c\u726e\u728d\u6bfd\u8171\u7751\u950f\u9e63\u88e5\u7b15\u7bb4\u7fe6\u8dbc\u8e3a\u9ca3\u97af",
|
||||
"jiang": "\u50f5\u59dc\u5c06\u6d46\u6c5f\u7586\u848b\u6868\u5956\u8bb2\u5320\u9171\u964d\u8333\u6d1a\u7edb\u7f30\u729f\u7913\u8029\u7ce8\u8c47",
|
||||
"jiao": "\u8549\u6912\u7901\u7126\u80f6\u4ea4\u90ca\u6d47\u9a84\u5a07\u56bc\u6405\u94f0\u77eb\u4fa5\u811a\u72e1\u89d2\u997a\u7f34\u7ede\u527f\u6559\u9175\u8f7f\u8f83\u53eb\u4f7c\u50ec\u832d\u6322\u564d\u5ce4\u5fbc\u59e3\u7e9f\u656b\u768e\u9e6a\u86df\u91ae\u8de4\u9c9b",
|
||||
"jie": "\u7a96\u63ed\u63a5\u7686\u79f8\u8857\u9636\u622a\u52ab\u8282\u6854\u6770\u6377\u776b\u7aed\u6d01\u7ed3\u89e3\u59d0\u6212\u85c9\u82a5\u754c\u501f\u4ecb\u75a5\u8beb\u5c4a\u5048\u8ba6\u8bd8\u5588\u55df\u736c\u5a55\u5b51\u6840\u7352\u78a3\u9534\u7596\u88b7\u9889\u86a7\u7faf\u9c92\u9ab1\u9aeb",
|
||||
"jin": "\u5dfe\u7b4b\u65a4\u91d1\u4eca\u6d25\u895f\u7d27\u9526\u4ec5\u8c28\u8fdb\u9773\u664b\u7981\u8fd1\u70ec\u6d78\u5c3d\u537a\u8369\u5807\u5664\u9991\u5ed1\u5997\u7f19\u747e\u69ff\u8d46\u89d0\u9485\u9513\u887f\u77dc",
|
||||
"jing": "\u52b2\u8346\u5162\u830e\u775b\u6676\u9cb8\u4eac\u60ca\u7cbe\u7cb3\u7ecf\u4e95\u8b66\u666f\u9888\u9759\u5883\u656c\u955c\u5f84\u75c9\u9756\u7adf\u7ade\u51c0\u522d\u5106\u9631\u83c1\u734d\u61ac\u6cfe\u8ff3\u5f2a\u5a67\u80bc\u80eb\u8148\u65cc",
|
||||
"jiong": "\u70af\u7a98\u5182\u8fe5\u6243",
|
||||
"jiu": "\u63ea\u7a76\u7ea0\u7396\u97ed\u4e45\u7078\u4e5d\u9152\u53a9\u6551\u65e7\u81fc\u8205\u548e\u5c31\u759a\u50e6\u557e\u9604\u67e9\u6855\u9e6b\u8d73\u9b0f",
|
||||
"ju": "\u97a0\u62d8\u72d9\u75bd\u9a79\u83ca\u5c40\u5480\u77e9\u4e3e\u6cae\u805a\u62d2\u636e\u5de8\u5177\u8ddd\u8e1e\u952f\u4ff1\u53e5\u60e7\u70ac\u5267\u5028\u8bb5\u82e3\u82f4\u8392\u63ac\u907d\u5c66\u741a\u67b8\u6910\u6998\u6989\u6a58\u728b\u98d3\u949c\u9514\u7aad\u88fe\u8d84\u91b5\u8e3d\u9f83\u96ce\u97ab",
|
||||
"juan": "\u6350\u9e43\u5a1f\u5026\u7737\u5377\u7ee2\u9104\u72f7\u6d93\u684a\u8832\u9529\u954c\u96bd",
|
||||
"jue": "\u6485\u652b\u6289\u6398\u5014\u7235\u89c9\u51b3\u8bc0\u7edd\u53a5\u5282\u8c32\u77cd\u8568\u5658\u5d1b\u7357\u5b53\u73cf\u6877\u6a5b\u721d\u9562\u8e76\u89d6",
|
||||
"jun": "\u5747\u83cc\u94a7\u519b\u541b\u5cfb\u4fca\u7ae3\u6d5a\u90e1\u9a8f\u6343\u72fb\u76b2\u7b60\u9e87",
|
||||
"ka": "\u5580\u5496\u5361\u4f67\u5494\u80e9",
|
||||
"ke": "\u54af\u5777\u82db\u67ef\u68f5\u78d5\u9897\u79d1\u58f3\u54b3\u53ef\u6e34\u514b\u523b\u5ba2\u8bfe\u5ca2\u606a\u6e98\u9a92\u7f02\u73c2\u8f72\u6c2a\u778c\u94b6\u75b4\u7aa0\u874c\u9ac1",
|
||||
"kai": "\u5f00\u63e9\u6977\u51ef\u6168\u5240\u57b2\u8488\u5ffe\u607a\u94e0\u950e",
|
||||
"kan": "\u520a\u582a\u52d8\u574e\u780d\u770b\u4f83\u51f5\u83b0\u83b6\u6221\u9f9b\u77b0",
|
||||
"kang": "\u5eb7\u6177\u7ce0\u625b\u6297\u4ea2\u7095\u5751\u4f09\u95f6\u94aa",
|
||||
"kao": "\u8003\u62f7\u70e4\u9760\u5c3b\u6832\u7292\u94d0",
|
||||
"ken": "\u80af\u5543\u57a6\u6073\u57a0\u88c9\u9880",
|
||||
"keng": "\u542d\u5fd0\u94ff",
|
||||
"kong": "\u7a7a\u6050\u5b54\u63a7\u5025\u5d06\u7b9c",
|
||||
"kou": "\u62a0\u53e3\u6263\u5bc7\u82a4\u853b\u53e9\u770d\u7b58",
|
||||
"ku": "\u67af\u54ed\u7a9f\u82e6\u9177\u5e93\u88e4\u5233\u5800\u55be\u7ed4\u9ab7",
|
||||
"kua": "\u5938\u57ae\u630e\u8de8\u80ef\u4f89",
|
||||
"kuai": "\u5757\u7b77\u4fa9\u5feb\u84af\u90d0\u8489\u72ef\u810d",
|
||||
"kuan": "\u5bbd\u6b3e\u9acb",
|
||||
"kuang": "\u5321\u7b50\u72c2\u6846\u77ff\u7736\u65f7\u51b5\u8bd3\u8bf3\u909d\u5739\u593c\u54d0\u7ea9\u8d36",
|
||||
"kui": "\u4e8f\u76d4\u5cbf\u7aa5\u8475\u594e\u9b41\u5080\u9988\u6127\u6e83\u9997\u532e\u5914\u9697\u63c6\u55b9\u559f\u609d\u6126\u9615\u9035\u668c\u777d\u8069\u8770\u7bd1\u81fe\u8dec",
|
||||
"kun": "\u5764\u6606\u6346\u56f0\u6083\u9603\u7428\u951f\u918c\u9cb2\u9ae1",
|
||||
"kuo": "\u62ec\u6269\u5ed3\u9614\u86de",
|
||||
"la": "\u5783\u62c9\u5587\u8721\u814a\u8fa3\u5566\u524c\u647a\u908b\u65ef\u782c\u760c",
|
||||
"lai": "\u83b1\u6765\u8d56\u5d03\u5f95\u6d9e\u6fd1\u8d49\u7750\u94fc\u765e\u7c41",
|
||||
"lan": "\u84dd\u5a6a\u680f\u62e6\u7bee\u9611\u5170\u6f9c\u8c30\u63fd\u89c8\u61d2\u7f06\u70c2\u6ee5\u5549\u5c9a\u61d4\u6f24\u6984\u6593\u7f71\u9567\u8934",
|
||||
"lang": "\u7405\u6994\u72fc\u5eca\u90ce\u6717\u6d6a\u83a8\u8497\u5577\u9606\u9512\u7a02\u8782",
|
||||
"lao": "\u635e\u52b3\u7262\u8001\u4f6c\u59e5\u916a\u70d9\u6d9d\u5520\u5d02\u6833\u94d1\u94f9\u75e8\u91aa",
|
||||
"le": "\u52d2\u4e50\u808b\u4ec2\u53fb\u561e\u6cd0\u9cd3",
|
||||
"lei": "\u96f7\u956d\u857e\u78ca\u7d2f\u5121\u5792\u64c2\u7c7b\u6cea\u7fb8\u8bd4\u837d\u54a7\u6f2f\u5ad8\u7f27\u6a91\u8012\u9179",
|
||||
"ling": "\u68f1\u51b7\u62ce\u73b2\u83f1\u96f6\u9f84\u94c3\u4f36\u7f9a\u51cc\u7075\u9675\u5cad\u9886\u53e6\u4ee4\u9143\u5844\u82d3\u5464\u56f9\u6ce0\u7eeb\u67c3\u68c2\u74f4\u8046\u86c9\u7fce\u9cae",
|
||||
"leng": "\u695e\u6123",
|
||||
"li": "\u5398\u68a8\u7281\u9ece\u7bf1\u72f8\u79bb\u6f13\u7406\u674e\u91cc\u9ca4\u793c\u8389\u8354\u540f\u6817\u4e3d\u5389\u52b1\u783e\u5386\u5229\u5088\u4f8b\u4fd0\u75e2\u7acb\u7c92\u6ca5\u96b6\u529b\u7483\u54e9\u4fea\u4fda\u90e6\u575c\u82c8\u8385\u84e0\u85dc\u6369\u5456\u5533\u55b1\u7301\u6ea7\u6fa7\u9026\u5a0c\u5ae0\u9a8a\u7f21\u73de\u67a5\u680e\u8f79\u623e\u783a\u8a48\u7f79\u9502\u9e42\u75a0\u75ac\u86ce\u870a\u8821\u7b20\u7be5\u7c9d\u91b4\u8dde\u96f3\u9ca1\u9ce2\u9ee7",
|
||||
"lian": "\u4fe9\u8054\u83b2\u8fde\u9570\u5ec9\u601c\u6d9f\u5e18\u655b\u8138\u94fe\u604b\u70bc\u7ec3\u631b\u8539\u5941\u6f4b\u6fc2\u5a08\u740f\u695d\u6b93\u81c1\u81a6\u88e2\u880a\u9ca2",
|
||||
"liang": "\u7cae\u51c9\u6881\u7cb1\u826f\u4e24\u8f86\u91cf\u667e\u4eae\u8c05\u589a\u690b\u8e09\u9753\u9b49",
|
||||
"liao": "\u64a9\u804a\u50da\u7597\u71ce\u5be5\u8fbd\u6f66\u4e86\u6482\u9563\u5ed6\u6599\u84fc\u5c25\u5639\u7360\u5bee\u7f2d\u948c\u9e69\u8022",
|
||||
"lie": "\u5217\u88c2\u70c8\u52a3\u730e\u51bd\u57d2\u6d0c\u8d94\u8e90\u9b23",
|
||||
"lin": "\u7433\u6797\u78f7\u9716\u4e34\u90bb\u9cde\u6dcb\u51db\u8d41\u541d\u853a\u5d99\u5eea\u9074\u6aa9\u8f9a\u77b5\u7cbc\u8e8f\u9e9f",
|
||||
"liu": "\u6e9c\u7409\u69b4\u786b\u998f\u7559\u5218\u7624\u6d41\u67f3\u516d\u62a1\u507b\u848c\u6cd6\u6d4f\u905b\u9a9d\u7efa\u65d2\u7198\u950d\u954f\u9e68\u938f",
|
||||
"long": "\u9f99\u804b\u5499\u7b3c\u7abf\u9686\u5784\u62e2\u9647\u5f04\u5785\u830f\u6cf7\u73d1\u680a\u80e7\u783b\u7643",
|
||||
"lou": "\u697c\u5a04\u6402\u7bd3\u6f0f\u964b\u55bd\u5d5d\u9542\u7618\u8027\u877c\u9ac5",
|
||||
"lu": "\u82a6\u5362\u9885\u5e90\u7089\u63b3\u5364\u864f\u9c81\u9e93\u788c\u9732\u8def\u8d42\u9e7f\u6f5e\u7984\u5f55\u9646\u622e\u5786\u6445\u64b8\u565c\u6cf8\u6e0c\u6f09\u7490\u680c\u6a79\u8f73\u8f82\u8f98\u6c07\u80ea\u9565\u9e2c\u9e6d\u7c0f\u823b\u9c88",
|
||||
"lv": "\u9a74\u5415\u94dd\u4fa3\u65c5\u5c65\u5c61\u7f15\u8651\u6c2f\u5f8b\u7387\u6ee4\u7eff\u634b\u95fe\u6988\u8182\u7a06\u891b",
|
||||
"luan": "\u5ce6\u5b6a\u6ee6\u5375\u4e71\u683e\u9e3e\u92ae",
|
||||
"lue": "\u63a0\u7565\u950a",
|
||||
"lun": "\u8f6e\u4f26\u4ed1\u6ca6\u7eb6\u8bba\u56f5",
|
||||
"luo": "\u841d\u87ba\u7f57\u903b\u9523\u7ba9\u9aa1\u88f8\u843d\u6d1b\u9a86\u7edc\u502e\u8366\u645e\u7321\u6cfa\u6924\u8136\u9559\u7630\u96d2",
|
||||
"ma": "\u5988\u9ebb\u739b\u7801\u8682\u9a6c\u9a82\u561b\u5417\u551b\u72b8\u5b37\u6769\u9ebd",
|
||||
"mai": "\u57cb\u4e70\u9ea6\u5356\u8fc8\u8109\u52a2\u836c\u54aa\u973e",
|
||||
"man": "\u7792\u9992\u86ee\u6ee1\u8513\u66fc\u6162\u6f2b\u8c29\u5881\u5e54\u7f26\u71b3\u9558\u989f\u87a8\u9cd7\u9794",
|
||||
"mang": "\u8292\u832b\u76f2\u5fd9\u83bd\u9099\u6f2d\u6726\u786d\u87d2",
|
||||
"meng": "\u6c13\u840c\u8499\u6aac\u76df\u9530\u731b\u68a6\u5b5f\u52d0\u750d\u77a2\u61f5\u791e\u867b\u8722\u8813\u824b\u8268\u9efe",
|
||||
"miao": "\u732b\u82d7\u63cf\u7784\u85d0\u79d2\u6e3a\u5e99\u5999\u55b5\u9088\u7f08\u7f2a\u676a\u6dfc\u7707\u9e4b\u8731",
|
||||
"mao": "\u8305\u951a\u6bdb\u77db\u94c6\u536f\u8302\u5192\u5e3d\u8c8c\u8d38\u4f94\u88a4\u52d6\u8306\u5cc1\u7441\u6634\u7266\u8004\u65c4\u61cb\u7780\u86d1\u8765\u87ca\u9ae6",
|
||||
"me": "\u4e48",
|
||||
"mei": "\u73ab\u679a\u6885\u9176\u9709\u7164\u6ca1\u7709\u5a92\u9541\u6bcf\u7f8e\u6627\u5bd0\u59b9\u5a9a\u5776\u8393\u5d4b\u7338\u6d7c\u6e44\u6963\u9545\u9e5b\u8882\u9b45",
|
||||
"men": "\u95e8\u95f7\u4eec\u626a\u739f\u7116\u61d1\u9494",
|
||||
"mi": "\u772f\u919a\u9761\u7cdc\u8ff7\u8c1c\u5f25\u7c73\u79d8\u89c5\u6ccc\u871c\u5bc6\u5e42\u8288\u5196\u8c27\u863c\u5627\u7315\u736f\u6c68\u5b93\u5f2d\u8112\u6549\u7cf8\u7e3b\u9e8b",
|
||||
"mian": "\u68c9\u7720\u7ef5\u5195\u514d\u52c9\u5a29\u7f05\u9762\u6c94\u6e4e\u817c\u7704",
|
||||
"mie": "\u8511\u706d\u54a9\u881b\u7bfe",
|
||||
"min": "\u6c11\u62bf\u76bf\u654f\u60af\u95fd\u82e0\u5cb7\u95f5\u6cef\u73c9",
|
||||
"ming": "\u660e\u879f\u9e23\u94ed\u540d\u547d\u51a5\u8317\u6e9f\u669d\u7791\u9169",
|
||||
"miu": "\u8c2c",
|
||||
"mo": "\u6478\u6479\u8611\u6a21\u819c\u78e8\u6469\u9b54\u62b9\u672b\u83ab\u58a8\u9ed8\u6cab\u6f20\u5bde\u964c\u8c1f\u8309\u84e6\u998d\u5aeb\u9546\u79e3\u763c\u8031\u87c6\u8c8a\u8c98",
|
||||
"mou": "\u8c0b\u725f\u67d0\u53b6\u54de\u5a7a\u7738\u936a",
|
||||
"mu": "\u62c7\u7261\u4ea9\u59c6\u6bcd\u5893\u66ae\u5e55\u52df\u6155\u6728\u76ee\u7766\u7267\u7a46\u4eeb\u82dc\u5452\u6c90\u6bea\u94bc",
|
||||
"na": "\u62ff\u54ea\u5450\u94a0\u90a3\u5a1c\u7eb3\u5185\u637a\u80ad\u954e\u8872\u7bac",
|
||||
"nai": "\u6c16\u4e43\u5976\u8010\u5948\u9f10\u827f\u8418\u67f0",
|
||||
"nan": "\u5357\u7537\u96be\u56ca\u5583\u56e1\u6960\u8169\u877b\u8d67",
|
||||
"nao": "\u6320\u8111\u607c\u95f9\u5b6c\u57b4\u7331\u7459\u7847\u94d9\u86f2",
|
||||
"ne": "\u6dd6\u5462\u8bb7",
|
||||
"nei": "\u9981",
|
||||
"nen": "\u5ae9\u80fd\u6798\u6041",
|
||||
"ni": "\u59ae\u9713\u502a\u6ce5\u5c3c\u62df\u4f60\u533f\u817b\u9006\u6eba\u4f32\u576d\u730a\u6029\u6ee0\u6635\u65ce\u7962\u615d\u7768\u94cc\u9cb5",
|
||||
"nian": "\u852b\u62c8\u5e74\u78be\u64b5\u637b\u5ff5\u5eff\u8f87\u9ecf\u9c87\u9cb6",
|
||||
"niang": "\u5a18\u917f",
|
||||
"niao": "\u9e1f\u5c3f\u8311\u5b32\u8132\u8885",
|
||||
"nie": "\u634f\u8042\u5b7d\u556e\u954a\u954d\u6d85\u4e5c\u9667\u8616\u55eb\u8080\u989e\u81ec\u8e51",
|
||||
"nin": "\u60a8\u67e0",
|
||||
"ning": "\u72de\u51dd\u5b81\u62e7\u6cde\u4f5e\u84e5\u549b\u752f\u804d",
|
||||
"niu": "\u725b\u626d\u94ae\u7ebd\u72c3\u5ff8\u599e\u86b4",
|
||||
"nong": "\u8113\u6d53\u519c\u4fac",
|
||||
"nu": "\u5974\u52aa\u6012\u5476\u5e11\u5f29\u80ec\u5b65\u9a7d",
|
||||
"nv": "\u5973\u6067\u9495\u8844",
|
||||
"nuan": "\u6696",
|
||||
"nuenue": "\u8650",
|
||||
"nue": "\u759f\u8c11",
|
||||
"nuo": "\u632a\u61e6\u7cef\u8bfa\u50a9\u6426\u558f\u9518",
|
||||
"ou": "\u54e6\u6b27\u9e25\u6bb4\u85d5\u5455\u5076\u6ca4\u6004\u74ef\u8026",
|
||||
"pa": "\u556a\u8db4\u722c\u5e15\u6015\u7436\u8469\u7b62",
|
||||
"pai": "\u62cd\u6392\u724c\u5f98\u6e43\u6d3e\u4ff3\u848e",
|
||||
"pan": "\u6500\u6f58\u76d8\u78d0\u76fc\u7554\u5224\u53db\u723f\u6cee\u88a2\u897b\u87e0\u8e52",
|
||||
"pang": "\u4e53\u5e9e\u65c1\u802a\u80d6\u6ec2\u9004",
|
||||
"pao": "\u629b\u5486\u5228\u70ae\u888d\u8dd1\u6ce1\u530f\u72cd\u5e96\u812c\u75b1",
|
||||
"pei": "\u5478\u80da\u57f9\u88f4\u8d54\u966a\u914d\u4f69\u6c9b\u638a\u8f94\u5e14\u6de0\u65c6\u952b\u9185\u9708",
|
||||
"pen": "\u55b7\u76c6\u6e53",
|
||||
"peng": "\u7830\u62a8\u70f9\u6f8e\u5f6d\u84ec\u68da\u787c\u7bf7\u81a8\u670b\u9e4f\u6367\u78b0\u576f\u580b\u562d\u6026\u87db",
|
||||
"pi": "\u7812\u9739\u6279\u62ab\u5288\u7435\u6bd7\u5564\u813e\u75b2\u76ae\u5339\u75de\u50fb\u5c41\u8b6c\u4e15\u9674\u90b3\u90eb\u572e\u9f19\u64d7\u567c\u5e80\u5ab2\u7eb0\u6787\u7513\u7765\u7f74\u94cd\u75e6\u7656\u758b\u868d\u8c94",
|
||||
"pian": "\u7bc7\u504f\u7247\u9a97\u8c1d\u9a88\u728f\u80fc\u890a\u7fe9\u8e41",
|
||||
"piao": "\u98d8\u6f02\u74e2\u7968\u527d\u560c\u5ad6\u7f25\u6b8d\u779f\u87b5",
|
||||
"pie": "\u6487\u77a5\u4e3f\u82e4\u6c15",
|
||||
"pin": "\u62fc\u9891\u8d2b\u54c1\u8058\u62da\u59d8\u5ad4\u6980\u725d\u98a6",
|
||||
"ping": "\u4e52\u576a\u82f9\u840d\u5e73\u51ed\u74f6\u8bc4\u5c4f\u4fdc\u5a09\u67b0\u9c86",
|
||||
"po": "\u5761\u6cfc\u9887\u5a46\u7834\u9b44\u8feb\u7c95\u53f5\u9131\u6ea5\u73c0\u948b\u94b7\u76a4\u7b38",
|
||||
"pou": "\u5256\u88d2\u8e23",
|
||||
"pu": "\u6251\u94fa\u4ec6\u8386\u8461\u83e9\u84b2\u57d4\u6734\u5703\u666e\u6d66\u8c31\u66dd\u7011\u530d\u5657\u6fee\u749e\u6c06\u9564\u9568\u8e7c",
|
||||
"qi": "\u671f\u6b3a\u6816\u621a\u59bb\u4e03\u51c4\u6f06\u67d2\u6c8f\u5176\u68cb\u5947\u6b67\u7566\u5d0e\u8110\u9f50\u65d7\u7948\u7941\u9a91\u8d77\u5c82\u4e5e\u4f01\u542f\u5951\u780c\u5668\u6c14\u8fc4\u5f03\u6c7d\u6ce3\u8bab\u4e9f\u4e93\u573b\u8291\u840b\u847a\u5601\u5c7a\u5c90\u6c54\u6dc7\u9a90\u7eee\u742a\u7426\u675e\u6864\u69ed\u6b39\u797a\u61a9\u789b\u86f4\u871e\u7da6\u7dae\u8dbf\u8e4a\u9ccd\u9e92",
|
||||
"qia": "\u6390\u6070\u6d3d\u845c",
|
||||
"qian": "\u7275\u6266\u948e\u94c5\u5343\u8fc1\u7b7e\u4edf\u8c26\u4e7e\u9ed4\u94b1\u94b3\u524d\u6f5c\u9063\u6d45\u8c34\u5811\u5d4c\u6b20\u6b49\u4f65\u9621\u828a\u82a1\u8368\u63ae\u5c8d\u60ad\u614a\u9a9e\u6434\u8930\u7f31\u6920\u80b7\u6106\u94a4\u8654\u7b9d",
|
||||
"qiang": "\u67aa\u545b\u8154\u7f8c\u5899\u8537\u5f3a\u62a2\u5af1\u6a2f\u6217\u709d\u9516\u9535\u956a\u8941\u8723\u7f9f\u8deb\u8dc4",
|
||||
"qiao": "\u6a47\u9539\u6572\u6084\u6865\u77a7\u4e54\u4fa8\u5de7\u9798\u64ac\u7fd8\u5ced\u4fcf\u7a8d\u5281\u8bee\u8c2f\u835e\u6100\u6194\u7f32\u6a35\u6bf3\u7857\u8df7\u9792",
|
||||
"qie": "\u5207\u8304\u4e14\u602f\u7a83\u90c4\u553c\u60ec\u59be\u6308\u9532\u7ba7",
|
||||
"qin": "\u94a6\u4fb5\u4eb2\u79e6\u7434\u52e4\u82b9\u64d2\u79bd\u5bdd\u6c81\u82a9\u84c1\u8572\u63ff\u5423\u55ea\u5659\u6eb1\u6a8e\u8793\u887e",
|
||||
"qing": "\u9752\u8f7b\u6c22\u503e\u537f\u6e05\u64ce\u6674\u6c30\u60c5\u9877\u8bf7\u5e86\u5029\u82d8\u570a\u6aa0\u78ec\u873b\u7f44\u7b90\u8b26\u9cad\u9ee5",
|
||||
"qiong": "\u743c\u7a77\u909b\u8315\u7a79\u7b47\u928e",
|
||||
"qiu": "\u79cb\u4e18\u90b1\u7403\u6c42\u56da\u914b\u6cc5\u4fc5\u6c3d\u5def\u827d\u72b0\u6e6b\u9011\u9052\u6978\u8d47\u9e20\u866c\u86af\u8764\u88d8\u7cd7\u9cc5\u9f3d",
|
||||
"qu": "\u8d8b\u533a\u86c6\u66f2\u8eaf\u5c48\u9a71\u6e20\u53d6\u5a36\u9f8b\u8da3\u53bb\u8bce\u52ac\u8556\u8627\u5c96\u8862\u9612\u74a9\u89d1\u6c0d\u795b\u78f2\u766f\u86d0\u883c\u9eb4\u77bf\u9ee2",
|
||||
"quan": "\u5708\u98a7\u6743\u919b\u6cc9\u5168\u75ca\u62f3\u72ac\u5238\u529d\u8be0\u8343\u737e\u609b\u7efb\u8f81\u754e\u94e8\u8737\u7b4c\u9b08",
|
||||
"que": "\u7f3a\u7094\u7638\u5374\u9e4a\u69b7\u786e\u96c0\u9619\u60ab",
|
||||
"qun": "\u88d9\u7fa4\u9021",
|
||||
"ran": "\u7136\u71c3\u5189\u67d3\u82d2\u9aef",
|
||||
"rang": "\u74e4\u58e4\u6518\u56b7\u8ba9\u79b3\u7a70",
|
||||
"rao": "\u9976\u6270\u7ed5\u835b\u5a06\u6861",
|
||||
"ruo": "\u60f9\u82e5\u5f31",
|
||||
"re": "\u70ed\u504c",
|
||||
"ren": "\u58ec\u4ec1\u4eba\u5fcd\u97e7\u4efb\u8ba4\u5203\u598a\u7eab\u4ede\u834f\u845a\u996a\u8f6b\u7a14\u887d",
|
||||
"reng": "\u6254\u4ecd",
|
||||
"ri": "\u65e5",
|
||||
"rong": "\u620e\u8338\u84c9\u8363\u878d\u7194\u6eb6\u5bb9\u7ed2\u5197\u5d58\u72e8\u7f1b\u6995\u877e",
|
||||
"rou": "\u63c9\u67d4\u8089\u7cc5\u8e42\u97a3",
|
||||
"ru": "\u8339\u8815\u5112\u5b7a\u5982\u8fb1\u4e73\u6c5d\u5165\u8925\u84d0\u85b7\u5685\u6d33\u6ebd\u6fe1\u94f7\u8966\u98a5",
|
||||
"ruan": "\u8f6f\u962e\u670a",
|
||||
"rui": "\u854a\u745e\u9510\u82ae\u8564\u777f\u868b",
|
||||
"run": "\u95f0\u6da6",
|
||||
"sa": "\u6492\u6d12\u8428\u5345\u4ee8\u6332\u98d2",
|
||||
"sai": "\u816e\u9cc3\u585e\u8d5b\u567b",
|
||||
"san": "\u4e09\u53c1\u4f1e\u6563\u5f61\u9993\u6c35\u6bf5\u7cc1\u9730",
|
||||
"sang": "\u6851\u55d3\u4e27\u6421\u78c9\u98a1",
|
||||
"sao": "\u6414\u9a9a\u626b\u5ac2\u57fd\u81ca\u7619\u9ccb",
|
||||
"se": "\u745f\u8272\u6da9\u556c\u94e9\u94ef\u7a51",
|
||||
"sen": "\u68ee",
|
||||
"seng": "\u50e7",
|
||||
"sha": "\u838e\u7802\u6740\u5239\u6c99\u7eb1\u50bb\u5565\u715e\u810e\u6b43\u75e7\u88df\u970e\u9ca8",
|
||||
"shai": "\u7b5b\u6652\u917e",
|
||||
"shan": "\u73ca\u82eb\u6749\u5c71\u5220\u717d\u886b\u95ea\u9655\u64c5\u8d61\u81b3\u5584\u6c55\u6247\u7f2e\u5261\u8baa\u912f\u57cf\u829f\u6f78\u59d7\u9a9f\u81bb\u9490\u759d\u87ee\u8222\u8dda\u9cdd",
|
||||
"shang": "\u5892\u4f24\u5546\u8d4f\u664c\u4e0a\u5c1a\u88f3\u57a7\u7ef1\u6b87\u71b5\u89de",
|
||||
"shao": "\u68a2\u634e\u7a0d\u70e7\u828d\u52fa\u97f6\u5c11\u54e8\u90b5\u7ecd\u52ad\u82d5\u6f72\u86f8\u7b24\u7b72\u8244",
|
||||
"she": "\u5962\u8d4a\u86c7\u820c\u820d\u8d66\u6444\u5c04\u6151\u6d89\u793e\u8bbe\u538d\u4f58\u731e\u7572\u9e9d",
|
||||
"shen": "\u7837\u7533\u547b\u4f38\u8eab\u6df1\u5a20\u7ec5\u795e\u6c88\u5ba1\u5a76\u751a\u80be\u614e\u6e17\u8bdc\u8c02\u5432\u54c2\u6e16\u6939\u77e7\u8703",
|
||||
"sheng": "\u58f0\u751f\u7525\u7272\u5347\u7ef3\u7701\u76db\u5269\u80dc\u5723\u4e1e\u6e11\u5ab5\u771a\u7b19",
|
||||
"shi": "\u5e08\u5931\u72ee\u65bd\u6e7f\u8bd7\u5c38\u8671\u5341\u77f3\u62fe\u65f6\u4ec0\u98df\u8680\u5b9e\u8bc6\u53f2\u77e2\u4f7f\u5c4e\u9a76\u59cb\u5f0f\u793a\u58eb\u4e16\u67ff\u4e8b\u62ed\u8a93\u901d\u52bf\u662f\u55dc\u566c\u9002\u4ed5\u4f8d\u91ca\u9970\u6c0f\u5e02\u6043\u5ba4\u89c6\u8bd5\u8c25\u57d8\u83b3\u84cd\u5f11\u5511\u9963\u8f7c\u8006\u8d33\u70bb\u793b\u94c8\u94ca\u87ab\u8210\u7b6e\u8c55\u9ca5\u9cba",
|
||||
"shou": "\u6536\u624b\u9996\u5b88\u5bff\u6388\u552e\u53d7\u7626\u517d\u624c\u72e9\u7ef6\u824f",
|
||||
"shu": "\u852c\u67a2\u68b3\u6b8a\u6292\u8f93\u53d4\u8212\u6dd1\u758f\u4e66\u8d4e\u5b70\u719f\u85af\u6691\u66d9\u7f72\u8700\u9ecd\u9f20\u5c5e\u672f\u8ff0\u6811\u675f\u620d\u7ad6\u5885\u5eb6\u6570\u6f31\u6055\u500f\u587e\u83fd\u5fc4\u6cad\u6d91\u6f8d\u59dd\u7ebe\u6bf9\u8167\u6bb3\u956f\u79eb\u9e6c",
|
||||
"shua": "\u5237\u800d\u5530\u6dae",
|
||||
"shuai": "\u6454\u8870\u7529\u5e05\u87c0",
|
||||
"shuan": "\u6813\u62f4\u95e9",
|
||||
"shuang": "\u971c\u53cc\u723d\u5b40",
|
||||
"shui": "\u8c01\u6c34\u7761\u7a0e",
|
||||
"shun": "\u542e\u77ac\u987a\u821c\u6042",
|
||||
"shuo": "\u8bf4\u7855\u6714\u70c1\u84b4\u6420\u55cd\u6fef\u5981\u69ca\u94c4",
|
||||
"si": "\u65af\u6495\u5636\u601d\u79c1\u53f8\u4e1d\u6b7b\u8086\u5bfa\u55e3\u56db\u4f3a\u4f3c\u9972\u5df3\u53ae\u4fdf\u5155\u83e5\u549d\u6c5c\u6cd7\u6f8c\u59d2\u9a77\u7f0c\u7940\u7960\u9536\u9e36\u801c\u86f3\u7b25",
|
||||
"song": "\u677e\u8038\u6002\u9882\u9001\u5b8b\u8bbc\u8bf5\u51c7\u83d8\u5d27\u5d69\u5fea\u609a\u6dde\u7ae6",
|
||||
"sou": "\u641c\u8258\u64de\u55fd\u53df\u55d6\u55fe\u998a\u6eb2\u98d5\u778d\u953c\u878b",
|
||||
"su": "\u82cf\u9165\u4fd7\u7d20\u901f\u7c9f\u50f3\u5851\u6eaf\u5bbf\u8bc9\u8083\u5919\u8c21\u850c\u55c9\u612b\u7c0c\u89eb\u7a23",
|
||||
"suan": "\u9178\u849c\u7b97",
|
||||
"sui": "\u867d\u968b\u968f\u7ee5\u9ad3\u788e\u5c81\u7a57\u9042\u96a7\u795f\u84d1\u51ab\u8c07\u6fc9\u9083\u71e7\u772d\u7762",
|
||||
"sun": "\u5b59\u635f\u7b0b\u836a\u72f2\u98e7\u69ab\u8de3\u96bc",
|
||||
"suo": "\u68ad\u5506\u7f29\u7410\u7d22\u9501\u6240\u5522\u55e6\u5a11\u686b\u7743\u7fa7",
|
||||
"ta": "\u584c\u4ed6\u5b83\u5979\u5854\u736d\u631e\u8e4b\u8e0f\u95fc\u6ebb\u9062\u69bb\u6c93",
|
||||
"tai": "\u80ce\u82d4\u62ac\u53f0\u6cf0\u915e\u592a\u6001\u6c70\u90b0\u85b9\u80bd\u70b1\u949b\u8dc6\u9c90",
|
||||
"tan": "\u574d\u644a\u8d2a\u762b\u6ee9\u575b\u6a80\u75f0\u6f6d\u8c2d\u8c08\u5766\u6bef\u8892\u78b3\u63a2\u53f9\u70ad\u90ef\u8548\u6619\u94bd\u952c\u8983",
|
||||
"tang": "\u6c64\u5858\u642a\u5802\u68e0\u819b\u5510\u7cd6\u50a5\u9967\u6e8f\u746d\u94f4\u9557\u8025\u8797\u87b3\u7fb0\u91a3",
|
||||
"thang": "\u5018\u8eba\u6dcc",
|
||||
"theng": "\u8d9f\u70eb",
|
||||
"tao": "\u638f\u6d9b\u6ed4\u7ee6\u8404\u6843\u9003\u6dd8\u9676\u8ba8\u5957\u6311\u9f17\u5555\u97ec\u9955",
|
||||
"te": "\u7279",
|
||||
"teng": "\u85e4\u817e\u75bc\u8a8a\u6ed5",
|
||||
"ti": "\u68af\u5254\u8e22\u9511\u63d0\u9898\u8e44\u557c\u4f53\u66ff\u568f\u60d5\u6d95\u5243\u5c49\u8351\u608c\u9016\u7ee8\u7f07\u9e48\u88fc\u918d",
|
||||
"tian": "\u5929\u6dfb\u586b\u7530\u751c\u606c\u8214\u8146\u63ad\u5fdd\u9617\u6b84\u754b\u94bf\u86ba",
|
||||
"tiao": "\u6761\u8fe2\u773a\u8df3\u4f7b\u7967\u94eb\u7a95\u9f86\u9ca6",
|
||||
"tie": "\u8d34\u94c1\u5e16\u841c\u992e",
|
||||
"ting": "\u5385\u542c\u70c3\u6c40\u5ef7\u505c\u4ead\u5ead\u633a\u8247\u839b\u8476\u5a77\u6883\u8713\u9706",
|
||||
"tong": "\u901a\u6850\u916e\u77b3\u540c\u94dc\u5f64\u7ae5\u6876\u6345\u7b52\u7edf\u75db\u4f5f\u50ee\u4edd\u833c\u55f5\u6078\u6f7c\u783c",
|
||||
"tou": "\u5077\u6295\u5934\u900f\u4ea0",
|
||||
"tu": "\u51f8\u79c3\u7a81\u56fe\u5f92\u9014\u6d82\u5c60\u571f\u5410\u5154\u580d\u837c\u83df\u948d\u9174",
|
||||
"tuan": "\u6e4d\u56e2\u7583",
|
||||
"tui": "\u63a8\u9893\u817f\u8715\u892a\u9000\u5fd2\u717a",
|
||||
"tun": "\u541e\u5c6f\u81c0\u9968\u66be\u8c5a\u7a80",
|
||||
"tuo": "\u62d6\u6258\u8131\u9e35\u9640\u9a6e\u9a7c\u692d\u59a5\u62d3\u553e\u4e47\u4f57\u5768\u5eb9\u6cb1\u67dd\u7823\u7ba8\u8204\u8dce\u9f0d",
|
||||
"wa": "\u6316\u54c7\u86d9\u6d3c\u5a03\u74e6\u889c\u4f64\u5a32\u817d",
|
||||
"wai": "\u6b6a\u5916",
|
||||
"wan": "\u8c4c\u5f2f\u6e7e\u73a9\u987d\u4e38\u70f7\u5b8c\u7897\u633d\u665a\u7696\u60cb\u5b9b\u5a49\u4e07\u8155\u525c\u8284\u82cb\u83c0\u7ea8\u7efe\u742c\u8118\u7579\u873f\u7ba2",
|
||||
"wang": "\u6c6a\u738b\u4ea1\u6789\u7f51\u5f80\u65fa\u671b\u5fd8\u5984\u7f54\u5c22\u60d8\u8f8b\u9b4d",
|
||||
"wei": "\u5a01\u5dcd\u5fae\u5371\u97e6\u8fdd\u6845\u56f4\u552f\u60df\u4e3a\u6f4d\u7ef4\u82c7\u840e\u59d4\u4f1f\u4f2a\u5c3e\u7eac\u672a\u851a\u5473\u754f\u80c3\u5582\u9b4f\u4f4d\u6e2d\u8c13\u5c09\u6170\u536b\u502d\u504e\u8bff\u9688\u8473\u8587\u5e0f\u5e37\u5d34\u5d6c\u7325\u732c\u95f1\u6ca9\u6d27\u6da0\u9036\u5a13\u73ae\u97ea\u8ece\u709c\u7168\u71a8\u75ff\u8249\u9c94",
|
||||
"wen": "\u761f\u6e29\u868a\u6587\u95fb\u7eb9\u543b\u7a33\u7d0a\u95ee\u520e\u6120\u960c\u6c76\u74ba\u97eb\u6b81\u96ef",
|
||||
"weng": "\u55e1\u7fc1\u74ee\u84ca\u8579",
|
||||
"wo": "\u631d\u8717\u6da1\u7a9d\u6211\u65a1\u5367\u63e1\u6c83\u83b4\u5e44\u6e25\u674c\u809f\u9f8c",
|
||||
"wu": "\u5deb\u545c\u94a8\u4e4c\u6c61\u8bec\u5c4b\u65e0\u829c\u68a7\u543e\u5434\u6bcb\u6b66\u4e94\u6342\u5348\u821e\u4f0d\u4fae\u575e\u620a\u96fe\u6664\u7269\u52ff\u52a1\u609f\u8bef\u5140\u4ef5\u9622\u90ac\u572c\u82b4\u5e91\u6003\u5fe4\u6d6f\u5be4\u8fd5\u59a9\u9a9b\u727e\u7110\u9e49\u9e5c\u8708\u92c8\u9f2f",
|
||||
"xi": "\u6614\u7199\u6790\u897f\u7852\u77fd\u6670\u563b\u5438\u9521\u727a\u7a00\u606f\u5e0c\u6089\u819d\u5915\u60dc\u7184\u70ef\u6eaa\u6c50\u7280\u6a84\u88ad\u5e2d\u4e60\u5ab3\u559c\u94e3\u6d17\u7cfb\u9699\u620f\u7ec6\u50d6\u516e\u96b0\u90d7\u831c\u8478\u84f0\u595a\u550f\u5f99\u9969\u960b\u6d60\u6dc5\u5c63\u5b09\u73ba\u6a28\u66e6\u89cb\u6b37\u71b9\u798a\u79a7\u94b8\u7699\u7a78\u8725\u87cb\u823e\u7fb2\u7c9e\u7fd5\u91af\u9f37",
|
||||
"xia": "\u778e\u867e\u5323\u971e\u8f96\u6687\u5ce1\u4fa0\u72ed\u4e0b\u53a6\u590f\u5413\u6380\u846d\u55c4\u72ce\u9050\u7455\u7856\u7615\u7f45\u9ee0",
|
||||
"xian": "\u9528\u5148\u4ed9\u9c9c\u7ea4\u54b8\u8d24\u8854\u8237\u95f2\u6d8e\u5f26\u5acc\u663e\u9669\u73b0\u732e\u53bf\u817a\u9985\u7fa1\u5baa\u9677\u9650\u7ebf\u51bc\u85d3\u5c98\u7303\u66b9\u5a34\u6c19\u7946\u9e47\u75eb\u86ac\u7b45\u7c7c\u9170\u8df9",
|
||||
"xiang": "\u76f8\u53a2\u9576\u9999\u7bb1\u8944\u6e58\u4e61\u7fd4\u7965\u8be6\u60f3\u54cd\u4eab\u9879\u5df7\u6a61\u50cf\u5411\u8c61\u8297\u8459\u9977\u5ea0\u9aa7\u7f03\u87d3\u9c9e\u98e8",
|
||||
"xiao": "\u8427\u785d\u9704\u524a\u54ee\u56a3\u9500\u6d88\u5bb5\u6dc6\u6653\u5c0f\u5b5d\u6821\u8096\u5578\u7b11\u6548\u54d3\u54bb\u5d24\u6f47\u900d\u9a81\u7ee1\u67ad\u67b5\u7b71\u7bab\u9b48",
|
||||
"xie": "\u6954\u4e9b\u6b47\u874e\u978b\u534f\u631f\u643a\u90aa\u659c\u80c1\u8c10\u5199\u68b0\u5378\u87f9\u61c8\u6cc4\u6cfb\u8c22\u5c51\u5055\u4eb5\u52f0\u71ee\u85a4\u64b7\u5ee8\u7023\u9082\u7ec1\u7f2c\u69ad\u698d\u6b59\u8e9e",
|
||||
"xin": "\u85aa\u82af\u950c\u6b23\u8f9b\u65b0\u5ffb\u5fc3\u4fe1\u8845\u56df\u99a8\u8398\u6b46\u94fd\u946b",
|
||||
"xing": "\u661f\u8165\u7329\u60fa\u5174\u5211\u578b\u5f62\u90a2\u884c\u9192\u5e78\u674f\u6027\u59d3\u9649\u8347\u8365\u64e4\u60bb\u784e",
|
||||
"xiong": "\u5144\u51f6\u80f8\u5308\u6c79\u96c4\u718a\u828e",
|
||||
"xiu": "\u4f11\u4fee\u7f9e\u673d\u55c5\u9508\u79c0\u8896\u7ee3\u83a0\u5cab\u9990\u5ea5\u9e3a\u8c85\u9af9",
|
||||
"xu": "\u589f\u620c\u9700\u865a\u5618\u987b\u5f90\u8bb8\u84c4\u9157\u53d9\u65ed\u5e8f\u755c\u6064\u7d6e\u5a7f\u7eea\u7eed\u8bb4\u8be9\u5729\u84ff\u6035\u6d2b\u6e86\u987c\u6829\u7166\u7809\u76f1\u80e5\u7cc8\u9191",
|
||||
"xuan": "\u8f69\u55a7\u5ba3\u60ac\u65cb\u7384\u9009\u7663\u7729\u7eda\u5107\u8c16\u8431\u63ce\u9994\u6ceb\u6d35\u6e32\u6f29\u7487\u6966\u6684\u70ab\u714a\u78b9\u94c9\u955f\u75c3",
|
||||
"xue": "\u9774\u859b\u5b66\u7a74\u96ea\u8840\u5671\u6cf6\u9cd5",
|
||||
"xun": "\u52cb\u718f\u5faa\u65ec\u8be2\u5bfb\u9a6f\u5de1\u6b89\u6c5b\u8bad\u8baf\u900a\u8fc5\u5dfd\u57d9\u8340\u85b0\u5ccb\u5f87\u6d54\u66db\u7aa8\u91ba\u9c9f",
|
||||
"ya": "\u538b\u62bc\u9e26\u9e2d\u5440\u4e2b\u82bd\u7259\u869c\u5d16\u8859\u6daf\u96c5\u54d1\u4e9a\u8bb6\u4f22\u63e0\u5416\u5c88\u8fd3\u5a05\u740a\u6860\u6c29\u7811\u775a\u75d6",
|
||||
"yan": "\u7109\u54bd\u9609\u70df\u6df9\u76d0\u4e25\u7814\u8712\u5ca9\u5ef6\u8a00\u989c\u960e\u708e\u6cbf\u5944\u63a9\u773c\u884d\u6f14\u8273\u5830\u71d5\u538c\u781a\u96c1\u5501\u5f66\u7130\u5bb4\u8c1a\u9a8c\u53a3\u9765\u8d5d\u4fe8\u5043\u5156\u8ba0\u8c33\u90fe\u9122\u82ab\u83f8\u5d26\u6079\u95eb\u960f\u6d07\u6e6e\u6edf\u598d\u5ae3\u7430\u664f\u80ed\u814c\u7131\u7f68\u7b75\u917d\u9b47\u990d\u9f39",
|
||||
"yang": "\u6b83\u592e\u9e2f\u79e7\u6768\u626c\u4f6f\u75a1\u7f8a\u6d0b\u9633\u6c27\u4ef0\u75d2\u517b\u6837\u6f3e\u5f89\u600f\u6cf1\u7080\u70ca\u6059\u86d8\u9785",
|
||||
"yao": "\u9080\u8170\u5996\u7476\u6447\u5c27\u9065\u7a91\u8c23\u59da\u54ac\u8200\u836f\u8981\u8000\u592d\u723b\u5406\u5d3e\u5fad\u7039\u5e7a\u73e7\u6773\u66dc\u80b4\u9e5e\u7a88\u7e47\u9cd0",
|
||||
"ye": "\u6930\u564e\u8036\u7237\u91ce\u51b6\u4e5f\u9875\u6396\u4e1a\u53f6\u66f3\u814b\u591c\u6db2\u8c12\u90ba\u63f6\u9980\u6654\u70e8\u94d8",
|
||||
"yi": "\u4e00\u58f9\u533b\u63d6\u94f1\u4f9d\u4f0a\u8863\u9890\u5937\u9057\u79fb\u4eea\u80f0\u7591\u6c82\u5b9c\u59e8\u5f5d\u6905\u8681\u501a\u5df2\u4e59\u77e3\u4ee5\u827a\u6291\u6613\u9091\u5c79\u4ebf\u5f79\u81c6\u9038\u8084\u75ab\u4ea6\u88d4\u610f\u6bc5\u5fc6\u4e49\u76ca\u6ea2\u8be3\u8bae\u8c0a\u8bd1\u5f02\u7ffc\u7fcc\u7ece\u5208\u5293\u4f7e\u8bd2\u572a\u572f\u57f8\u61ff\u82e1\u858f\u5f08\u5955\u6339\u5f0b\u5453\u54a6\u54bf\u566b\u5cc4\u5db7\u7317\u9974\u603f\u6021\u6092\u6f2a\u8fe4\u9a7f\u7f22\u6baa\u8d3b\u65d6\u71a0\u9487\u9552\u9571\u75cd\u7617\u7654\u7fca\u8864\u8734\u8223\u7fbf\u7ff3\u914f\u9edf",
|
||||
"yin": "\u8335\u836b\u56e0\u6bb7\u97f3\u9634\u59fb\u541f\u94f6\u6deb\u5bc5\u996e\u5c39\u5f15\u9690\u5370\u80e4\u911e\u5819\u831a\u5591\u72fa\u5924\u6c24\u94df\u763e\u8693\u972a\u9f88",
|
||||
"ying": "\u82f1\u6a31\u5a74\u9e70\u5e94\u7f28\u83b9\u8424\u8425\u8367\u8747\u8fce\u8d62\u76c8\u5f71\u9896\u786c\u6620\u5b34\u90e2\u8314\u83ba\u8426\u6484\u5624\u81ba\u6ee2\u6f46\u701b\u745b\u748e\u6979\u9e66\u763f\u988d\u7f42",
|
||||
"yo": "\u54df\u5537",
|
||||
"yong": "\u62e5\u4f63\u81c3\u75c8\u5eb8\u96cd\u8e0a\u86f9\u548f\u6cf3\u6d8c\u6c38\u607f\u52c7\u7528\u4fd1\u58c5\u5889\u6175\u9095\u955b\u752c\u9cd9\u9954",
|
||||
"you": "\u5e7d\u4f18\u60a0\u5fe7\u5c24\u7531\u90ae\u94c0\u72b9\u6cb9\u6e38\u9149\u6709\u53cb\u53f3\u4f51\u91c9\u8bf1\u53c8\u5e7c\u5363\u6538\u4f91\u83b8\u5466\u56ff\u5ba5\u67da\u7337\u7256\u94d5\u75a3\u8763\u9c7f\u9edd\u9f2c",
|
||||
"yu": "\u8fc2\u6de4\u4e8e\u76c2\u6986\u865e\u611a\u8206\u4f59\u4fde\u903e\u9c7c\u6109\u6e1d\u6e14\u9685\u4e88\u5a31\u96e8\u4e0e\u5c7f\u79b9\u5b87\u8bed\u7fbd\u7389\u57df\u828b\u90c1\u5401\u9047\u55bb\u5cea\u5fa1\u6108\u6b32\u72f1\u80b2\u8a89\u6d74\u5bd3\u88d5\u9884\u8c6b\u9a6d\u79ba\u6bd3\u4f1b\u4fe3\u8c00\u8c15\u8438\u84e3\u63c4\u5581\u5704\u5709\u5d5b\u72f3\u996b\u5ebe\u9608\u59aa\u59a4\u7ea1\u745c\u6631\u89ce\u8174\u6b24\u65bc\u715c\u71e0\u807f\u94b0\u9e46\u7610\u7600\u7ab3\u8753\u7afd\u8201\u96e9\u9f89",
|
||||
"yuan": "\u9e33\u6e0a\u51a4\u5143\u57a3\u8881\u539f\u63f4\u8f95\u56ed\u5458\u5706\u733f\u6e90\u7f18\u8fdc\u82d1\u613f\u6028\u9662\u586c\u6c85\u5a9b\u7457\u6a7c\u7230\u7722\u9e22\u8788\u9f0b",
|
||||
"yue": "\u66f0\u7ea6\u8d8a\u8dc3\u94a5\u5cb3\u7ca4\u6708\u60a6\u9605\u9fa0\u6a3e\u5216\u94ba",
|
||||
"yun": "\u8018\u4e91\u90e7\u5300\u9668\u5141\u8fd0\u8574\u915d\u6655\u97f5\u5b55\u90d3\u82b8\u72c1\u607d\u7ead\u6b92\u6600\u6c32",
|
||||
"za": "\u531d\u7838\u6742\u62f6\u5482",
|
||||
"zai": "\u683d\u54c9\u707e\u5bb0\u8f7d\u518d\u5728\u54b1\u5d3d\u753e",
|
||||
"zan": "\u6512\u6682\u8d5e\u74d2\u661d\u7c2a\u7ccc\u8db1\u933e",
|
||||
"zang": "\u8d43\u810f\u846c\u5958\u6215\u81e7",
|
||||
"zao": "\u906d\u7cdf\u51ff\u85fb\u67a3\u65e9\u6fa1\u86a4\u8e81\u566a\u9020\u7682\u7076\u71e5\u5523\u7f2b",
|
||||
"ze": "\u8d23\u62e9\u5219\u6cfd\u4ec4\u8d5c\u5567\u8fee\u6603\u7b2e\u7ba6\u8234",
|
||||
"zei": "\u8d3c",
|
||||
"zen": "\u600e\u8c2e",
|
||||
"zeng": "\u589e\u618e\u66fe\u8d60\u7f2f\u7511\u7f7e\u9503",
|
||||
"zha": "\u624e\u55b3\u6e23\u672d\u8f67\u94e1\u95f8\u7728\u6805\u69a8\u548b\u4e4d\u70b8\u8bc8\u63f8\u5412\u54a4\u54f3\u600d\u781f\u75c4\u86b1\u9f44",
|
||||
"zhai": "\u6458\u658b\u5b85\u7a84\u503a\u5be8\u7826",
|
||||
"zhan": "\u77bb\u6be1\u8a79\u7c98\u6cbe\u76cf\u65a9\u8f97\u5d2d\u5c55\u8638\u6808\u5360\u6218\u7ad9\u6e5b\u7efd\u8c35\u640c\u65c3",
|
||||
"zhang": "\u6a1f\u7ae0\u5f70\u6f33\u5f20\u638c\u6da8\u6756\u4e08\u5e10\u8d26\u4ed7\u80c0\u7634\u969c\u4ec9\u9123\u5e5b\u5d82\u7350\u5adc\u748b\u87d1",
|
||||
"zhao": "\u62db\u662d\u627e\u6cbc\u8d75\u7167\u7f69\u5146\u8087\u53ec\u722a\u8bcf\u68f9\u948a\u7b0a",
|
||||
"zhe": "\u906e\u6298\u54f2\u86f0\u8f99\u8005\u9517\u8517\u8fd9\u6d59\u8c2a\u966c\u67d8\u8f84\u78d4\u9e67\u891a\u8707\u8d6d",
|
||||
"zhen": "\u73cd\u659f\u771f\u7504\u7827\u81fb\u8d1e\u9488\u4fa6\u6795\u75b9\u8bca\u9707\u632f\u9547\u9635\u7f1c\u6862\u699b\u8f78\u8d48\u80d7\u6715\u796f\u755b\u9e29",
|
||||
"zheng": "\u84b8\u6323\u7741\u5f81\u72f0\u4e89\u6014\u6574\u62ef\u6b63\u653f\u5e27\u75c7\u90d1\u8bc1\u8be4\u5ce5\u94b2\u94ee\u7b5d",
|
||||
"zhi": "\u829d\u679d\u652f\u5431\u8718\u77e5\u80a2\u8102\u6c41\u4e4b\u7ec7\u804c\u76f4\u690d\u6b96\u6267\u503c\u4f84\u5740\u6307\u6b62\u8dbe\u53ea\u65e8\u7eb8\u5fd7\u631a\u63b7\u81f3\u81f4\u7f6e\u5e1c\u5cd9\u5236\u667a\u79e9\u7a1a\u8d28\u7099\u75d4\u6ede\u6cbb\u7a92\u536e\u965f\u90c5\u57f4\u82b7\u646d\u5e19\u5fee\u5f58\u54ab\u9a98\u6809\u67b3\u6800\u684e\u8f75\u8f7e\u6534\u8d3d\u81a3\u7949\u7957\u9ef9\u96c9\u9e37\u75e3\u86ed\u7d77\u916f\u8dd6\u8e2c\u8e2f\u8c78\u89ef",
|
||||
"zhong": "\u4e2d\u76c5\u5fe0\u949f\u8877\u7ec8\u79cd\u80bf\u91cd\u4ef2\u4f17\u51a2\u953a\u87bd\u8202\u822f\u8e35",
|
||||
"zhou": "\u821f\u5468\u5dde\u6d32\u8bcc\u7ca5\u8f74\u8098\u5e1a\u5492\u76b1\u5b99\u663c\u9aa4\u5544\u7740\u501c\u8bf9\u836e\u9b3b\u7ea3\u80c4\u78a1\u7c40\u8233\u914e\u9cb7",
|
||||
"zhu": "\u73e0\u682a\u86db\u6731\u732a\u8bf8\u8bdb\u9010\u7af9\u70db\u716e\u62c4\u77a9\u5631\u4e3b\u8457\u67f1\u52a9\u86c0\u8d2e\u94f8\u7b51\u4f4f\u6ce8\u795d\u9a7b\u4f2b\u4f8f\u90be\u82ce\u8331\u6d19\u6e1a\u6f74\u9a7a\u677c\u69e0\u6a65\u70b7\u94e2\u75b0\u7603\u86b0\u7afa\u7bb8\u7fe5\u8e85\u9e88",
|
||||
"zhua": "\u6293",
|
||||
"zhuai": "\u62fd",
|
||||
"zhuan": "\u4e13\u7816\u8f6c\u64b0\u8d5a\u7bc6\u629f\u556d\u989b",
|
||||
"zhuang": "\u6869\u5e84\u88c5\u5986\u649e\u58ee\u72b6\u4e2c",
|
||||
"zhui": "\u690e\u9525\u8ffd\u8d58\u5760\u7f00\u8411\u9a93\u7f12",
|
||||
"zhun": "\u8c06\u51c6",
|
||||
"zhuo": "\u6349\u62d9\u5353\u684c\u7422\u8301\u914c\u707c\u6d4a\u502c\u8bfc\u5ef4\u855e\u64e2\u555c\u6d5e\u6dbf\u6753\u712f\u799a\u65ab",
|
||||
"zi": "\u5179\u54a8\u8d44\u59ff\u6ecb\u6dc4\u5b5c\u7d2b\u4ed4\u7c7d\u6ed3\u5b50\u81ea\u6e0d\u5b57\u8c18\u5d6b\u59ca\u5b73\u7f01\u6893\u8f8e\u8d40\u6063\u7726\u9531\u79ed\u8014\u7b2b\u7ca2\u89dc\u8a3e\u9cbb\u9aed",
|
||||
"zong": "\u9b03\u68d5\u8e2a\u5b97\u7efc\u603b\u7eb5\u8159\u7cbd",
|
||||
"zou": "\u90b9\u8d70\u594f\u63cd\u9139\u9cb0",
|
||||
"zu": "\u79df\u8db3\u5352\u65cf\u7956\u8bc5\u963b\u7ec4\u4fce\u83f9\u5550\u5f82\u9a75\u8e74",
|
||||
"zuan": "\u94bb\u7e82\u6525\u7f35",
|
||||
"zui": "\u5634\u9189\u6700\u7f6a",
|
||||
"zun": "\u5c0a\u9075\u6499\u6a3d\u9cdf",
|
||||
"zuo": "\u6628\u5de6\u4f50\u67de\u505a\u4f5c\u5750\u5ea7\u961d\u963c\u80d9\u795a\u9162",
|
||||
"cou": "\u85ae\u6971\u8f8f\u8160",
|
||||
"nang": "\u652e\u54dd\u56d4\u9995\u66e9",
|
||||
"o": "\u5594",
|
||||
"dia": "\u55f2",
|
||||
"chuai": "\u562c\u81aa\u8e39",
|
||||
"cen": "\u5c91\u6d94",
|
||||
"diu": "\u94e5",
|
||||
"nou": "\u8028",
|
||||
"fou": "\u7f36",
|
||||
"bia": "\u9adf"
|
||||
};
|
||||
|
||||
//在数据中搜索
|
||||
function search(letter) {
|
||||
for (var name in py) {
|
||||
if (py.hasOwnProperty(name)) {
|
||||
if (py[name].indexOf(letter) != -1) {
|
||||
return toUCFirst(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//转换首字母大写
|
||||
function toUCFirst(name) {
|
||||
var first = name.substr(0, 1).toUpperCase();
|
||||
var spare = name.substr(1, name.length);
|
||||
return first + spare;
|
||||
// return first;
|
||||
}
|
||||
|
||||
return {
|
||||
convert: function (words) {
|
||||
var long = words.length;
|
||||
var result = '';
|
||||
var reg = new RegExp('[a-zA-Z0-9\- ]');
|
||||
for (var i = 0, letter, name; i < long; i++) {
|
||||
letter = words.substr(i, 1);
|
||||
if (reg.test(letter)) {
|
||||
result += letter;
|
||||
} else {
|
||||
name = search(letter);
|
||||
if (name !== false) {
|
||||
result += name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result.replace(/[ -]+/g, '-');
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
if (typeof(exports) == 'object') {
|
||||
exports.PinYin = PinYin;
|
||||
}
|
||||
1
common/wiki/amWiki/js/raphael.min.js
vendored
1
common/wiki/amWiki/js/raphael.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"name": "Mixly2.0 wiki",
|
||||
"ver": "v1.3",
|
||||
"logo": "./image/mixly.png",
|
||||
"page-mounts": false,
|
||||
"libraryPrefix": "./library/",
|
||||
"imports": [
|
||||
"./js/config.js"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.2 KiB |
@@ -1,204 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="shortcut icon" type="image/ico" href="../../files/mixly.ico">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="renderer" content="webkit">
|
||||
<title>Mixly2.0 wiki</title>
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/markdownbody.github.css" />
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/lhjs.github-gist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/amWiki.css" />
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/fontello.css" />
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/default.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="amWiki/css/vs.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../ui/layui/css/layui.css" />
|
||||
<script type="text/javascript" src="amWiki/js/jquery-1.11.3.min.js"></script>
|
||||
<script type="text/javascript" src="../ui/layui/layui.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div tabindex="1"></div>
|
||||
<!-- 头部 -->
|
||||
<header class="header">
|
||||
<div class="header-inner">
|
||||
<a class="logo" href="?file=首页">
|
||||
<img src="./image/mixly.png" /><i></i>
|
||||
<b>Mixly2.0 wiki</b>
|
||||
<span>v1.0</span>
|
||||
</a>
|
||||
<div class="menu-icon" id="menuIcon">
|
||||
<svg>
|
||||
<use xlink:href="#icon:navStart"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!-- 页面 -->
|
||||
<div class="container" id="container">
|
||||
<div class="nav" id="nav">
|
||||
<div class="menu-filter">
|
||||
<svg>
|
||||
<use xlink:href="#icon:navFilter"></use>
|
||||
</svg>
|
||||
<input type="text" id="menuFilter" value="" placeholder="请输入筛选条件" title="请输入筛选条件" />
|
||||
<i class="off" title="清空筛选">×</i>
|
||||
</div>
|
||||
<div class="menu-search" id="searchShow" title="全库搜索">
|
||||
<svg>
|
||||
<use xlink:href="#icon:search"></use>
|
||||
</svg>
|
||||
</div>
|
||||
<nav class="menubar scroller" id="menuBar" data-x-rolling="true">
|
||||
<div class="scroller-inner">
|
||||
<div class="scroller-content"></div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="main scroller" id="main">
|
||||
<div class="main-inner scroller-inner">
|
||||
<!-- 正文 -->
|
||||
<article class="markdown-body scroller-content" id="view"></article>
|
||||
<script id="template:footnote" type="text/html">
|
||||
<sup><a href="#fn:foot{{index}}" name="fn:note{{index}}" title="{{title}}">[{{index}}]</a></sup>
|
||||
<ol class="footnote"><i>[参考资料]:</i>{{list}}</ol>
|
||||
<li id="fn:foot{{index}}">{{content}} {{back}}</li>
|
||||
<li class="footnote-none" data-msg="匹配缺失">{{content}}</li>
|
||||
<a href="#fn:note{{index}}">
|
||||
<svg>
|
||||
<use xlink:href="#icon:footnoteBack"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</script>
|
||||
<!-- 上下翻页 -->
|
||||
<div class="main-sibling scroller-content" id="mainSibling">
|
||||
<p><span>上一篇:</span>
|
||||
<a href="#"></a>
|
||||
</p>
|
||||
<p><span>下一篇:</span>
|
||||
<a href="#"></a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- 全库搜索 -->
|
||||
<div class="search-box" id="searchBox">
|
||||
<div class="search-update">
|
||||
<input type="button" id="searchUpdate" value="更新所有缓存" />
|
||||
<div class="text">
|
||||
<p>上次完全更新:<time id="cacheLasttime">0000-00-00 00:00:00</time></p>
|
||||
<p>文档总数:<b id="cacheDocTotal">0</b> <i>/</i> <span>已缓存:<i id="cacheState">0%</i></span></p>
|
||||
</div>
|
||||
</div>
|
||||
<h2>全库搜索</h2>
|
||||
<div class="search-input">
|
||||
<input type="text" id="searchText" placeholder="请输入搜索内容" />
|
||||
<input type="button" id="search" value="搜 索" />
|
||||
</div>
|
||||
<div class="search-results" id="results">
|
||||
<div class="search-result-message" id="resultMsg"></div>
|
||||
<ul class="search-list"></ul>
|
||||
<div class="search-result-more" id="resultMore">显示更多</div>
|
||||
<script id="template:searchResult" type="text/html">
|
||||
<li class="search-item">
|
||||
<a href="?file={{path}}">
|
||||
<div class="content">
|
||||
<strong>{{title}}</strong> {{api}} {{content}}
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<p>位置:<span>{{path}}</span></p>
|
||||
<div class="time">最后缓存于
|
||||
<time>{{time}}</time>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 接口测试 -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside>
|
||||
<!-- 侧边目录 -->
|
||||
<div class="contents" id="contents">
|
||||
<div class="btn">
|
||||
<svg>
|
||||
<use xlink:href="#icon:contents"></use>
|
||||
</svg>
|
||||
<span>目录</span>
|
||||
</div>
|
||||
<div class="contents-list">
|
||||
<p>
|
||||
<a id="contentsTitle" href="#客户日志流水接口示例">客户日志流水接口示例</a>
|
||||
</p>
|
||||
<div class="markdown-contents"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 返回顶部 -->
|
||||
<div class="back-top" id="backTop">
|
||||
<a class="back-icon" href="#">
|
||||
<svg>
|
||||
<use xlink:href="#icon:backTop"></use>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="back-text" href="#">返回顶部</a>
|
||||
</div>
|
||||
</aside>
|
||||
<!-- 图片预览 -->
|
||||
<section class="imgsv" id="imgsView">
|
||||
<div class="imgsv-background"></div>
|
||||
<div class="imgsv-view" id="imgsViewInner"></div>
|
||||
<ul class="imgsv-panel">
|
||||
<li class="prev off">Prev</li>
|
||||
<li class="next">Next</li>
|
||||
<li class="original">1:1</li>
|
||||
<li class="suit">适合</li>
|
||||
</ul>
|
||||
</section>
|
||||
<footer>
|
||||
<!-- 签名 -->
|
||||
<div class="signature">Powered by amWiki</div>
|
||||
</footer>
|
||||
<!-- mounts -->
|
||||
<div class="hidden" aw-include="mountLinks">
|
||||
<script>AWConfig={"name":"Mixly2.0 wiki","ver":"v1.3","logo":"./image/mixly.png","libraryPrefix":"./library/","imports":{"js":["./js/config.js"],"css":[]},"version":"v1.3","testing":false,"colour":"#4296eb","pageMounts":false,"githubUrl":""}</script>
|
||||
</div>
|
||||
<!-- js -->
|
||||
<div class="hidden">
|
||||
<script type="text/javascript" src="amWiki/js/gbk.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/pinyin.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/marked.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/highlight.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/highlightjs-line-numbers.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/arduino.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/bash.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/c.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/cpp.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/css.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/javascript.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/json.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/lua.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/node-repl.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/python.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/python-repl.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/shell.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/language/xml.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/raphael.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/flowchart.min.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.tools.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.storage.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.search.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.search.worker.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.docs.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.scrollbar.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.imgsView.js"></script>
|
||||
<script type="text/javascript" src="amWiki/js/amWiki.js"></script>
|
||||
<script type="text/javascript" src="./js/config.js"></script>
|
||||
</div>
|
||||
<!-- svg -->
|
||||
<div class="hidden" id="svgSymbols"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,30 +0,0 @@
|
||||
const Mixly = {};
|
||||
Mixly.Config = {};
|
||||
Mixly.Config.get = (path, defaultConfig = {}) => {
|
||||
let finalConfig = null;
|
||||
$.ajaxSettings.async = false;
|
||||
$.get(path, (config) => {
|
||||
if (typeof config === 'object')
|
||||
finalConfig = Object.assign(defaultConfig, config);
|
||||
else if (typeof config === 'string')
|
||||
try {
|
||||
finalConfig = Object.assign(defaultConfig, JSON.parse(config));
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
finalConfig = defaultConfig;
|
||||
}
|
||||
else
|
||||
finalConfig = defaultConfig;
|
||||
}).fail(() => {
|
||||
finalConfig = defaultConfig;
|
||||
});
|
||||
$.ajaxSettings.async = true;
|
||||
return finalConfig;
|
||||
}
|
||||
|
||||
if (typeof AWConfig === 'undefined')
|
||||
var AWConfig = {};
|
||||
|
||||
AWConfig = Mixly.Config.get('./wiki-config.json', AWConfig);
|
||||
|
||||
console.log(AWConfig);
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"libraryPrefix": "./library/"
|
||||
}
|
||||
Reference in New Issue
Block a user