🎨 后台UI细节优化

pull/41/head
ruibaby 2018-10-17 22:46:24 +08:00
parent af3626cea7
commit ca9f019854
25 changed files with 120 additions and 340 deletions

View File

@ -9,7 +9,7 @@
[![Travis CI](https://img.shields.io/travis/ruibaby/halo.svg)](https://travis-ci.org/ruibaby/halo)
------------------------------
🇨🇳简体中文 | 🇺🇸[English](./README-en-US.md) | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> [Türkçe](./README-tr.md)
🇨🇳简体中文 | 🇺🇸[English](./docs/README-en-US.md) | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> [Türkçe](./docs/README-tr.md)
## 目录

View File

@ -9,7 +9,7 @@
[![Travis CI](https://img.shields.io/travis/ruibaby/halo.svg)](https://travis-ci.org/ruibaby/halo)
------------------------------
🇨🇳[简体中文](./README.md) | 🇺🇸English | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> [Türkçe](./README-tr.md)
🇨🇳[简体中文](../README.md) | 🇺🇸English | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> [Türkçe](./README-tr.md)
## Catalog

View File

@ -9,7 +9,7 @@
[![Travis CI](https://img.shields.io/travis/ruibaby/halo.svg)](https://travis-ci.org/ruibaby/halo)
------------------------------
🇨🇳[简体中文](./README.md) | 🇺🇸[English](./README-en-US.md) | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> Türkçe
🇨🇳[简体中文](../README.md) | 🇺🇸[English](./README-en-US.md) | <img src="https://lipis.github.io/flag-icon-css/flags/4x3/tr.svg" alt="Turkish" height="14"/> Türkçe
## Katalog

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.native-list-one-head a,.native-list-one-content a{color:#7575d0;opacity:1!important;-webkit-transition:all .15s linear;-moz-transition:all .15s linear;-o-transition:all .15s linear;transition:all .15s linear}.comment-container{padding:10px}.comment-list-one-content img{display:inline-block!important;margin:auto!important;height:auto!important;max-width:100%!important}.comment-wrap{position:relative!important;margin-left:64px!important;padding:10px!important;border:1px solid #f0f0f0!important}input,textarea,button{outline:none!important}.comment-submit,.native-list-one-img,.native-list-one-footer-time,.native-list-one-footer-reback,.comment-info,.native-nav,.ua,.comment-message{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.comment-header{width:100%!important;line-height:1.8!important}.comment-input-who,.comment-input-email,.comment-input-website{float:left!important;padding:10px 0!important;width:33.33%!important;border:none!important;border-bottom:1px dashed #dedede!important;font-size:16px!important}.comment-input:focus{border-bottom:1px dashed red!important}.comment-input-content{padding:10px 0!important;width:100%!important;min-height:120px!important;border:none!important;font-size:16px!important;resize:vertical!important}.comment-footer{padding-top:10px!important;vertical-align:middle!important;text-align:right!important}.comment-submit,.comment-cancel-reply{padding:7px 14px!important;outline:none!important;border:1px solid #ededed!important;border-radius:0!important;background:#ededed!important;color:#313131!important;vertical-align:middle!important;font-size:16px!important;line-height:normal!important;cursor:pointer!important;transition:all .3s ease-in-out!important}.comment-submit:hover{border-color:#859cff!important;border-radius:50px!important;background-color:#fff!important;color:#859cff!important}.comment-cancel-reply:hover{border-color:#859cff!important;border-radius:50px!important;background-color:#fff!important;color:#859cff!important}.comment-list{margin-top:0!important;margin-bottom:0!important;padding:0!important;list-style:none!important}.comment-list .comment-list-one{position:relative!important;display:block!important;margin:0!important;padding-top:10px!important;transition:all .3s ease-in-out!important}.comment-list .comment-list-one .comment-list-one-img{float:left!important;margin-right:16px!important;width:48px!important;height:48px!important;border-radius:50%!important;cursor:pointer!important;-webkit-transition:.4s!important;-webkit-transition:-webkit-transform .4s ease-out!important;-moz-transition:-moz-transform .4s ease-out!important;transition:transform .4s ease-out!important}.comment-list-one-img:hover{transform:rotate(360deg)!important}.comment-list .comment-list-one section{overflow:hidden!important;padding-bottom:1rem!important;border-bottom:1px dashed #f5f5f5!important}.comment-list .comment-list-one section .comment-list-one-head{margin-top:0!important;margin-bottom:5px!important;line-height:1.5!important}.comment-list-one-head-name{color:#555!important;text-decoration:none!important;font-weight:500!important;font-size:16px!important;cursor:pointer!important}.comment-list-one-head-admin{display:inline-block;margin-right:5px!important;padding:2px 5px!important;border-radius:2px!important;background:#87ceeb!important;color:#fff!important;font-size:12px!important}.ua{display:inline-block;margin-right:5px!important;padding:2px 5px!important;border-radius:5px!important;background:#ededed!important;color:#b3b1b1!important;font-size:8px!important}.comment-list-one-content p{margin:0!important;letter-spacing:0!important;font-weight:400!important;font-size:16px!important}.comment-list-one-footer-time{margin-right:5px!important;color:#b3b3b3!important;font-size:12px!important}.comment-list-one-footer-reback{color:#ef2f11!important;font-size:14px!important;cursor:pointer!important}.comment-info{padding-top:10px!important;color:#555!important;font-size:16px!important}.comment-avatar{position:relative!important;float:left!important}.comment-avatar img{width:56px;height:56px;border-radius:100%!important;cursor:pointer;-webkit-transition:.4s!important;-webkit-transition:-webkit-transform .4s ease-out;-moz-transition:-moz-transform .4s ease-out;transition:transform .4s ease-out}.comment-avatar img:hover{transform:rotate(360deg)!important}.native-nav{padding:10px 0!important}.page-nav{margin:20px 0!important;padding:0 10px!important;list-style:none!important;text-align:center!important}.page-nav li{display:inline-block!important;padding:0 10px!important}.page-nav li a{text-decoration:#0a001f!important}@media screen and (max-width:560px){.comment-input-who,.comment-input-email,.comment-input-website{width:100%!important}.ua{display:none!important}.comment-list{margin-left:5px!important}}

View File

@ -0,0 +1 @@
#loading{background-color:#fff;height:100%;width:100%;position:fixed;z-index:9999;margin-top:0;top:0}#loading-center{width:100%;height:100%;position:relative}#loading-center-absolute{position:absolute;left:50%;top:50%;height:60px;width:60px;margin-top:-30px;margin-left:-30px;-webkit-animation:loading-center-absolute 1s infinite;animation:loading-center-absolute 1s infinite}.object{width:20px;height:20px;background-color:skyblue;float:left;-moz-border-radius:50% 50% 50% 50%;-webkit-border-radius:50% 50% 50% 50%;border-radius:50% 50% 50% 50%;margin-right:20px;margin-bottom:20px}.object:nth-child(2n+0){margin-right:0}#object_one{-webkit-animation:object_one 1s infinite;animation:object_one 1s infinite}#object_two{-webkit-animation:object_two 1s infinite;animation:object_two 1s infinite}#object_three{-webkit-animation:object_three 1s infinite;animation:object_three 1s infinite}#object_four{-webkit-animation:object_four 1s infinite;animation:object_four 1s infinite}@-webkit-keyframes loading-center-absolute{100%{-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-center-absolute{100%{-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes object_one{50%{-ms-transform:translate(20px,20px);-webkit-transform:translate(20px,20px);transform:translate(20px,20px)}}@keyframes object_one{50%{-ms-transform:translate(20px,20px);-webkit-transform:translate(20px,20px);transform:translate(20px,20px)}}@-webkit-keyframes object_two{50%{-ms-transform:translate(-20px,20px);-webkit-transform:translate(-20px,20px);transform:translate(-20px,20px)}}@keyframes object_two{50%{-ms-transform:translate(-20px,20px);-webkit-transform:translate(-20px,20px);transform:translate(-20px,20px)}}@-webkit-keyframes object_three{50%{-ms-transform:translate(20px,-20px);-webkit-transform:translate(20px,-20px);transform:translate(20px,-20px)}}@keyframes object_three{50%{-ms-transform:translate(20px,-20px);-webkit-transform:translate(20px,-20px);transform:translate(20px,-20px)}}@-webkit-keyframes object_four{50%{-ms-transform:translate(-20px,-20px);-webkit-transform:translate(-20px,-20px);transform:translate(-20px,-20px)}}@keyframes object_four{50%{-ms-transform:translate(-20px,-20px);-webkit-transform:translate(-20px,-20px);transform:translate(-20px,-20px)}}

View File

@ -0,0 +1 @@
.skin-blue .box.box-primary{border-top-color:#fff}.skin-blue .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-blue-light .box.box-primary{border-top-color:#fff}.skin-blue-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-black .box.box-primary{border-top-color:#fff}.skin-black .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-black-light .box.box-primary{border-top-color:#fff}.skin-black-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-green .box.box-primary{border-top-color:#fff}.skin-green .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-green-light .box.box-primary{border-top-color:#fff}.skin-green-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-purple .box.box-primary{border-top-color:#fff}.skin-purple .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-purple-light .box.box-primary{border-top-color:#fff}.skin-purple-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-red .box.box-primary{border-top-color:#fff}.skin-red .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-red-light .box.box-primary{border-top-color:#fff}.skin-red-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-yellow .box.box-primary{border-top-color:#fff}.skin-yellow .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.skin-yellow-light .box.box-primary{border-top-color:#fff}.skin-yellow-light .nav-tabs-custom>.nav-tabs>li.active{border-top-color:#fff}.layout-boxed{background:url('../images/boxed-bg.jpg') repeat fixed}::-webkit-scrollbar{width:2px;height:2px;background-color:#eee}::-webkit-scrollbar-thumb{background-color:#d0afaf}::-webkit-scrollbar-track{background-color:#eee}.btn-header{margin-left:4px;padding:3px 6px;position:relative;top:-4px;border:1px solid #ccc;border-radius:2px;background:#fff;text-shadow:none;font-weight:600;font-size:12px;line-height:normal;color:#3c8dbc;cursor:pointer;transition:all .2s ease-in-out}.btn-header:hover{background:#3c8dbc;color:#fff}.table-responsive{border:none!important}.table-bordered{border:none!important}.box{border-top:none!important}

View File

@ -0,0 +1 @@
var s=new OwO({logo:"OωO表情",container:document.getElementsByClassName("OwO")[0],target:document.getElementsByClassName("comment-input-content")[0],position:"down",width:"100%",maxHeight:"210px",api:"/static/plugins/OwO/OwO.min.json"});$(document).ready(function(){$(".comment-list-one-head").each(function(i){var uaInfo=$(this).children(".comment-ua-info").html();$(this).append(show_ua(uaInfo));});$("#commentAuthor").val(localStorage.getItem("author"));$("#commentAuthorEmail").val(localStorage.getItem("email"));$("#commentAuthorUrl").val(localStorage.getItem("url"));loadAvatar();});$("#comment-submit").click(function(){var author=$("#commentAuthor");var content=$("#commentContent");var email=$("#commentAuthorEmail");var url=$("#commentAuthorUrl");if(author.val()==""||content.val()==""){$(".comment-message").html("<span style='color:red'>请输入必填项!</span>");$(".comment-message").fadeIn(1000);setTimeout(function(){$(".comment-message").fadeOut(1000);},1500);return;}$(this).attr("disabled","disabled");$(this).html("提交中...");$.ajax({type:"POST",url:"/newComment",async:false,data:{postId:$("input[name=postId]").val(),commentContent:formatContent(content.val()),commentAuthor:author.val(),commentAuthorEmail:email.val(),commentAuthorUrl:url.val(),commentAgent:navigator.userAgent,commentParent:$("input[name=commentParent]").val()},success:function(data){localStorage.setItem("author",author.val());localStorage.setItem("email",email.val());localStorage.setItem("url",url.val());if(data.code==1){$(".comment-input-content").val("");$(".comment-message").html("<span>"+data.msg+"</span>");}else{$(".comment-message").html("<span style='color:red'>"+data.msg+"</span>");}$(".comment-message").fadeIn(1000);setTimeout(function(){$(".comment-message").fadeOut(1000);$("#comment-submit").removeAttr("disabled");$("#comment-submit").html("提交");window.location.reload();},1500);}});});$(".comment-list-one-footer-reback").click(function(){var at=$(this).attr("at");var commentParentAuthor=$("#comment-id-"+at).find(".comment-list-one-head-name").html();$("#commentParent").val(at);$("#commentContent").attr("placeholder","@"+commentParentAuthor);$(".comment-cancel-reply").show();$("#commentContent").focus();});$(".comment-cancel-reply").click(function(){$("#commentParent").val(0);$("#commentContent").attr("placeholder","");$(".comment-cancel-reply").hide();});function loadAvatar(){$(".comment-author-avatar").attr("src","//gravatar.loli.net/avatar/"+md5(localStorage.getItem("email"))+"?s=256&d="+avatarType);if($("input[name=commentAuthorEmail]").val()!=""&&$("input[name=commentAuthorEmail]").val()!=null){$(".comment-author-avatar").attr("src","//gravatar.loli.net/avatar/"+md5($("input[name=commentAuthorEmail]").val())+"?s=256&d="+avatarType);}}var parser=new UAParser();function show_ua(string){parser.setUA(string);var uua=parser.getResult();if(uua.os.version=="x86_64"){uua.os.version="x64";}var browser=uua.browser.name+" "+uua.browser.version;var os=uua.os.name+" "+uua.os.version;return'<span class="ua">'+browser+'</span><span class="ua">'+os+"</span>";}function formatContent(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;}

View File

@ -0,0 +1 @@
$.extend({halo:function(){}});$(document).ready(function(){if($(window).width()<1024){if($("body").hasClass("layout-boxed")){$("body").removeClass("layout-boxed");}if($("body").hasClass("sidebar-collapse")){$("body").removeClass("sidebar-collapse");}}initMenu();});$(document).on("pjax:clicked",function(){$(".content-wrapper").html("");});$(document).on("pjax:complete",function(){initMenu();});function initMenu(){var pathName=location.pathname;if(pathName=="/admin/posts/edit"){pathName="/admin/posts/new";}if(pathName=="/admin/category/edit"){pathName="/admin/category";}if(pathName=="/admin/tag/edit"){pathName="/admin/tag";}if(pathName=="/admin/page/edit"){pathName="/admin/page/new";}if(pathName=="/admin/page/links"){pathName="/admin/page";}if(pathName=="/admin/page/galleries"){pathName="/admin/page";}if(pathName=="/admin/menus/edit"){pathName="/admin/menus";}$(".sidebar-menu").children().each(function(){var li=$(this);li.find("a").each(function(){var href=$(this).attr("href");if(pathName==href){li.addClass("active");$(this).parent().addClass("active");}else{$(this).parent().removeClass("active");}});});}$.halo.prototype.showMsg=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff"});};$.halo.prototype.showMsgAndReload=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.reload();}});};$.halo.prototype.showMsgAndRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.href=url;}});};$.halo.prototype.showMsgAndParentRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){parent.location.href=url;}});};$.halo.prototype.formatContent=function(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;};$.halo.prototype.layerModal=function(url,title){layer.open({type:2,title:title,shadeClose:true,shade:0.5,maxmin:true,area:["90%","90%"],content:url,scrollbar:false});};function saveOptions(option){var param=$("#"+option).serialize();$.ajax({type:"post",url:"/admin/option/save",data:param,success:function(data){if(data.code==1){halo.showMsg(data.msg,"success",1000);}else{halo.showMsg(data.msg,"error",2000);}}});}

View File

@ -0,0 +1 @@
var halo=new $.halo();$(document).ready(function(){$("#login-name").val(localStorage.getItem("loginName"));});function btn_login(){$("#btn-login").button("loading");var name=$("#login-name").val();var pwd=$("#login-pwd").val();if(name==""||pwd==""){halo.showMsg("请输入完整信息!","info",2000);$("#btn-login").button("reset");}else{$.ajax({type:"POST",url:"/admin/getLogin",async:false,data:{loginName:name,loginPwd:pwd},success:function(data){localStorage.setItem("loginName",$("#login-name").val());if(data.code==1){halo.showMsgAndRedirect(data.msg,"success",1000,"/admin");}else{$(".login-body").addClass("animate shake");$.toast({text:data.msg,heading:heading,icon:"error",showHideTransition:"fade",allowToastClose:true,hideAfter:2000,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){$(".login-body").removeClass("animate shake");}});$("#btn-login").button("reset");}}});}}$(document).keydown(function(event){if(event.keyCode==13){btn_login();}});

View File

@ -38,12 +38,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${attachments.number+1}/${attachments.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a data-pjax="true" class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments" ><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a data-pjax="true" class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments?page=${attachments.number-1}" ><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments?page=${attachments.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments?page=${attachments.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a data-pjax="true" class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments" >
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a data-pjax="true" class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments?page=${attachments.number-1}" >
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a data-pjax="true" class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments?page=${attachments.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a data-pjax="true" class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments?page=${attachments.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</section>

View File

@ -85,12 +85,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${comments.number+1}/${comments.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a data-pjax="true" class="btn btn-sm <#if !comments.hasPrevious()>disabled</#if>" href="/admin/comments?status=${status}"><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a data-pjax="true" class="btn btn-sm <#if !comments.hasPrevious()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.number-1}"><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !comments.hasNext()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !comments.hasNext()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a data-pjax="true" class="btn btn-default <#if !comments.hasPrevious()>disabled</#if>" href="/admin/comments?status=${status}">
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a data-pjax="true" class="btn btn-default <#if !comments.hasPrevious()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.number-1}">
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a data-pjax="true" class="btn btn-default <#if !comments.hasNext()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a data-pjax="true" class="btn btn-default <#if !comments.hasNext()>disabled</#if>" href="/admin/comments?status=${status}&page=${comments.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</div>

View File

@ -9,7 +9,7 @@
<link rel="stylesheet" href="/static/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/plugins/animate/animate.min.css">
<link rel="stylesheet" href="/static/plugins/toast/css/jquery.toast.min.css">
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/style.min.css">
<style>
body{background-color:#f5f5f5}*{outline:0}label{color:#4b1c0f}.login-form{max-width:380px;margin-top:10%}.login-logo{font-size:56px;text-align:center;margin-bottom:25px;font-weight:500;color:#444;text-shadow:#b2baba .1em .1em .2em}.login-body{padding:20px;background-color:#fff;-o-box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1);box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1)}.login-button{background-color:#fff;border-radius:0;border:1px solid #000;transition:all .5s ease-in-out}.login-button:hover{border:1px solid #fff;background-color:#000;color:#fff}.form-group{padding-bottom:25px}#login-name,#login-pwd{border-radius:0}.control{padding-bottom:5px}
</style>
@ -47,7 +47,7 @@
<script src="/static/plugins/jquery/jquery.min.js"></script>
<script src="/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/login.js"></script>
<script src="/static/js/halo.min.js"></script>
<script src="/static/js/login.min.js"></script>
</html>
</#compress>

View File

@ -92,12 +92,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${galleries.number+1}/${galleries.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a data-pjax="true" class="btn btn-sm <#if !galleries.hasPrevious()>disabled</#if>" href="/admin/page/galleries" ><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a data-pjax="true" class="btn btn-sm <#if !galleries.hasPrevious()>disabled</#if>" href="/admin/page/galleries?page=${galleries.number-1}" ><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !galleries.hasNext()>disabled</#if>" href="/admin/page/galleries?page=${galleries.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !galleries.hasNext()>disabled</#if>" href="/admin/page/galleries?page=${galleries.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a data-pjax="true" class="btn btn-default <#if !galleries.hasPrevious()>disabled</#if>" href="/admin/page/galleries" >
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a data-pjax="true" class="btn btn-default <#if !galleries.hasPrevious()>disabled</#if>" href="/admin/page/galleries?page=${galleries.number-1}" >
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a data-pjax="true" class="btn btn-default <#if !galleries.hasNext()>disabled</#if>" href="/admin/page/galleries?page=${galleries.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a data-pjax="true" class="btn btn-default <#if !galleries.hasNext()>disabled</#if>" href="/admin/page/galleries?page=${galleries.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</section>

View File

@ -120,12 +120,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${posts.number+1}/${posts.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a data-pjax="true" class="btn btn-sm <#if !posts.hasPrevious()>disabled</#if>" href="/admin/posts?status=${status}"><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a data-pjax="true" class="btn btn-sm <#if !posts.hasPrevious()>disabled</#if>" href="/admin/posts?status=${status}&page=${posts.number-1}"><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !posts.hasNext()>disabled</#if>" href="/admin/posts?status=${status}&page=${posts.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a data-pjax="true" class="btn btn-sm <#if !posts.hasNext()>disabled</#if>" href="/admin/posts?page=${posts.totalPages-1}&status=${status}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a data-pjax="true" class="btn btn-default <#if !posts.hasPrevious()>disabled</#if>" href="/admin/posts?status=${status}">
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a data-pjax="true" class="btn btn-default <#if !posts.hasPrevious()>disabled</#if>" href="/admin/posts?status=${status}&page=${posts.number-1}">
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a data-pjax="true" class="btn btn-default <#if !posts.hasNext()>disabled</#if>" href="/admin/posts?status=${status}&page=${posts.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a data-pjax="true" class="btn btn-default <#if !posts.hasNext()>disabled</#if>" href="/admin/posts?page=${posts.totalPages-1}&status=${status}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</div>

View File

@ -11,8 +11,8 @@
<link rel="stylesheet" href="/static/plugins/pace/pace.min.css">
<link rel="stylesheet" href="/static/css/AdminLTE.min.css">
<link rel="stylesheet" href="/static/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/loader.css">
<link rel="stylesheet" href="/static/css/style.min.css">
<link rel="stylesheet" href="/static/css/loader.min.css">
<link rel="stylesheet" href="/static/plugins/toast/css/jquery.toast.min.css">
<link rel="stylesheet" href="/static/plugins/fileinput/fileinput.min.css">
<link rel="stylesheet" href="/static/plugins/OwO/OwO.min.css">
@ -60,7 +60,7 @@
<#if options.blog_locale?default('zh_CN')=='zh_CN'>
<script src="/static/plugins/fileinput/zh.min.js"></script>
</#if>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<@compress single_line=true>
<script>
var halo = new $.halo();

View File

@ -78,7 +78,7 @@
<script src="/static/plugins/clipboard/clipboard.min.js"></script>
<script src="/static/js/adminlte.min.js"></script>
<script src="/static/plugins/layer/layer.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<script>
var halo = new $.halo();
function btn_delete() {

View File

@ -35,12 +35,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${attachments.number+1}/${attachments.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select" ><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number-1}" ><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select" >
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number-1}" >
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</div>
@ -68,7 +76,7 @@
</#if>
<script src="/static/plugins/clipboard/clipboard.min.js"></script>
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<script>
var halo = new $.halo();
$('#uploadImg').fileinput({

View File

@ -35,12 +35,20 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${attachments.number+1}/${attachments.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<ul class="pagination no-margin pull-right">
<li><a class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select" ><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a class="btn btn-sm <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number-1}" ><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a class="btn btn-sm <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select" >
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a class="btn btn-default <#if !attachments.hasPrevious()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number-1}" >
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a class="btn btn-default <#if !attachments.hasNext()>disabled</#if>" href="/admin/attachments/select?page=${attachments.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>
</div>
@ -67,7 +75,7 @@
<script src="/static/plugins/fileinput/zh.min.js"></script>
</#if>
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<script>
var halo = new $.halo();
$('#uploadImg').fileinput({

View File

@ -78,7 +78,7 @@
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/js/adminlte.min.js"></script>
<script src="/static/plugins/layer/layer.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<script>
var halo = new $.halo();
function btn_delete() {

View File

@ -39,13 +39,19 @@
<div class="no-margin pull-left">
<@spring.message code='admin.pageinfo.text.no' />${logs.number+1}/${logs.totalPages}<@spring.message code='admin.pageinfo.text.page' />
</div>
<div class="no-margin pull-right">
<ul class="pagination" style="margin: 0;">
<li><a class="btn btn-sm <#if !logs.hasPrevious()>disabled</#if>" href="/admin/logs"><@spring.message code='admin.pageinfo.btn.first' /></a> </li>
<li><a class="btn btn-sm <#if !logs.hasPrevious()>disabled</#if>" href="/admin/logs?page=${logs.number-1}"><@spring.message code='admin.pageinfo.btn.pre' /></a></li>
<li><a class="btn btn-sm <#if !logs.hasNext()>disabled</#if>" href="/admin/logs?page=${logs.number+1}"><@spring.message code='admin.pageinfo.btn.next' /></a></li>
<li><a class="btn btn-sm <#if !logs.hasNext()>disabled</#if>" href="/admin/logs?page=${logs.totalPages-1}"><@spring.message code='admin.pageinfo.btn.last' /></a> </li>
</ul>
<div class="btn-group pull-right btn-group-sm" role="group">
<a class="btn btn-default <#if !logs.hasPrevious()>disabled</#if>" href="/admin/logs">
<@spring.message code='admin.pageinfo.btn.first' />
</a>
<a class="btn btn-default <#if !logs.hasPrevious()>disabled</#if>" href="/admin/logs?page=${logs.number-1}">
<@spring.message code='admin.pageinfo.btn.pre' />
</a>
<a class="btn btn-default <#if !logs.hasNext()>disabled</#if>" href="/admin/logs?page=${logs.number+1}">
<@spring.message code='admin.pageinfo.btn.next' />
</a>
<a class="btn btn-default <#if !logs.hasNext()>disabled</#if>" href="/admin/logs?page=${logs.totalPages-1}">
<@spring.message code='admin.pageinfo.btn.last' />
</a>
</div>
</div>
</div>

View File

@ -81,7 +81,7 @@
</#if>
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/plugins/layer/layer.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<script>
var halo = new $.halo();
$(document).ready(function () {

View File

@ -1,6 +1,6 @@
<@compress single_line=true>
<link type="text/css" rel="stylesheet" href="/static/plugins/OwO/OwO.min.css">
<link type="text/css" rel="stylesheet" href="/static/css/comment.css">
<link type="text/css" rel="stylesheet" href="/static/css/comment.min.css">
<style>
${options.native_css?if_exists}
</style>
@ -128,5 +128,5 @@ ${options.native_css?if_exists}
<script>
var avatarType = "${options.native_comment_avatar?default('mm')}";
</script>
<script src="/static/js/comment.js"></script>
<script src="/static/js/comment.min.js"></script>
</@compress>

View File

@ -28,7 +28,7 @@
<script src="/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/plugins/toast/js/jquery.toast.min.js"></script>
<script src="/static/plugins/layer/layer.js"></script>
<script src="/static/js/halo.js"></script>
<script src="/static/js/halo.min.js"></script>
<#nested />
<script>
var halo = new $.halo();