👽 anatole主题优化

pull/18/head
ruibaby 2018-06-21 15:45:48 +08:00
parent cfdaa96a77
commit a4d5d5252c
17 changed files with 901 additions and 695 deletions

View File

@ -41,6 +41,9 @@ public class ArticleTagDirective implements TemplateDirectiveModel {
case "archivesLess":
environment.setVariable("archivesLess", builder.build().wrap(postService.findPostGroupByYear()));
break;
case "hotPosts":
environment.setVariable("hotPosts", builder.build().wrap(postService.hotPosts()));
break;
default:
break;
}

View File

@ -180,4 +180,12 @@ public interface PostRepository extends JpaRepository<Post, Long> {
*/
@Query(value = "select * from halo_post where post_status = 0 and post_type='post' and post_title like '%=:keyword%' or post_content like '%=:keyword%'", nativeQuery = true)
Page<Post> findPostByPostTitleLikeOrPostContentLikeAndPostTypeAndPostStatus(String keyword, Pageable pageable);
/**
*
*
* @param postStatus
* @return List<Post>
*/
List<Post> findPostsByPostTypeOrderByPostViewsDesc(String postStatus);
}

View File

@ -202,6 +202,13 @@ public interface PostService {
*/
Page<Post> searchByKeywords(String keyword,Pageable pageable);
/**
*
*
* @return List<Post>
*/
List<Post> hotPosts();
/**
* rss
*

View File

@ -315,6 +315,16 @@ public class PostServiceImpl implements PostService {
return postRepository.findPostByPostTitleLikeOrPostContentLikeAndPostTypeAndPostStatus(keyword,pageable);
}
/**
*
*
* @return List<Post>
*/
@Override
public List<Post> hotPosts() {
return postRepository.findPostsByPostTypeOrderByPostViewsDesc(HaloConst.POST_TYPE_POST);
}
/**
* rss
*

View File

@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author : RYAN0UP
* @date : 2018/6/6
@ -47,6 +49,16 @@ public class ApiPostController {
return new JsonResult(200,"success",posts);
}
@GetMapping(value = "/hot")
public JsonResult hotPosts() {
List<Post> posts = postService.hotPosts();
if (null != posts && posts.size() > 0) {
return new JsonResult(200, "success", posts);
} else {
return new JsonResult(200, "empty");
}
}
/**
*
*

View File

@ -17,6 +17,7 @@ import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Date;
import java.util.List;

View File

@ -31,7 +31,6 @@ function initMenu() {
if(pathName=="/admin/menus/edit"){
pathName="/admin/menus";
}
console.log(pathName);
$(".sidebar-menu").children().each(function () {
var li = $(this);
li.find('a').each(function () {

View File

@ -77,6 +77,9 @@
<#break>
<#case "gallery.ftl">
图库页面
<#case "module/options.ftl">
设置选项
<#break >
<#break>
</#switch>
</td>

View File

@ -20,6 +20,7 @@
<![endif]-->
<script src="/static/plugins/jquery/jquery.min.js"></script>
<script src="/static/plugins/bootstrap/js/bootstrap.min.js"></script>
</head>
<body class="hold-transition sidebar-mini ${options.admin_theme?default('skin-blue')} ${options.admin_layout?default('')} ${options.sidebar_style?default('')}">
<#if options.admin_loading?default("false") == "true">
@ -47,6 +48,9 @@
<script src="/static/js/app.js"></script>
<@compress single_line=true>
<script>
Pace.options = {
restartOnRequestAfter: false
};
$(document).ajaxStart(function() {Pace.restart();});
<#if options.admin_pjax?default("true") == "true">
$(document).pjax('a[data-pjax=true]', '.content-wrapper', {fragment: '.content-wrapper',timeout: 8000});

View File

@ -3,7 +3,7 @@
<style type="text/css" rel="stylesheet">
${options.changyan_css?if_exists}
</style>
<div id="SOHUCS" sid="请将此处替换为配置SourceID的语句" ></div>
<div id="SOHUCS" sid="${post.postId?c}" ></div>
<script type="text/javascript">
(function(){
var appid = '${options.changyan_appid?if_exists}';

View File

@ -15,8 +15,8 @@
<meta name="description" content="${description?default("Anatole")}" />
<link rel="shortcut icon" href="${options.anatole_style_favicon?default("/anatole/source/images/favicon.png")}" type="image/x-icon" />
<link href="/anatole/source/css/font-awesome.min.css" type="text/css" rel="stylesheet"/>
<link rel="stylesheet" href="/anatole/source/css/blog_basic.css?version=88107691fe">
<link href="/anatole/source/css/style.css" type="text/css" rel="stylesheet" />
<link rel="stylesheet" href="/anatole/source/css/blog_basic.min.css?version=88107691fe">
<link href="/anatole/source/css/style.min.css" type="text/css" rel="stylesheet" />
<link rel="alternate" type="application/rss+xml" title="atom 1.0" href="/feed.xml">
<#if options.anatole_style_post_title_lower?default("true") == "false">
<style>
@ -29,9 +29,9 @@
<body>
</#macro>
<#macro footer>
<script type="text/javascript" src="/anatole/source/js/jquery.js"></script>
<script type="text/javascript" src="/anatole/source/js/jquery.min.js"></script>
<script type="text/javascript" src="/anatole/source/js/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="/anatole/source/js/jquery.appear.js"></script>
<script type="text/javascript" src="/anatole/source/js/jquery.appear.min.js"></script>
<script type="text/javascript">
var url = location.href;
var urlstatus = false;

View File

@ -203,12 +203,14 @@ html {
height: 100%;
max-height: 100%;
padding: 0;
margin: 0; }
margin: 0;
}
body {
padding: 0;
margin: 0;
line-height: 1.6em; }
line-height: 1.6em;
}
.clear {
clear: both;
@ -216,50 +218,63 @@ html {
overflow: hidden;
visibility: hidden;
width: 0;
height: 0; }
height: 0;
}
h1, h2, h3, h4, h5, h6 {
text-rendering: optimizeLegibility;
line-height: 1;
margin: 2rem 0; }
margin: 2rem 0;
}
h1 {
font-size: 2.1rem;
line-height: 1.2em; }
line-height: 1.2em;
}
h2 {
font-size: 1.9rem;
line-height: 1.2em; }
line-height: 1.2em;
}
h3 {
font-size: 1.75rem; }
font-size: 1.75rem;
}
h4 {
font-size: 1.3rem; }
font-size: 1.3rem;
}
h5 {
font-size: 1.3rem; }
font-size: 1.3rem;
}
h6 {
font-size: 1.3rem; }
font-size: 1.3rem;
}
img {
max-width: 100%;
height: auto; }
height: auto;
}
p, ul, ol, dl {
margin: 1em 0; }
margin: 1em 0;
}
ol ol, ul ul, ul ol, ol ul {
margin: 0.4em 0; }
margin: 0.4em 0;
}
ul p, ol p, li p, .content li p, blockquote p, .content blockquote p,
.post blockquote p, .post li p {
margin: 0;
overflow: visible; }
overflow: visible;
}
a img {
border: none; }
border: none;
}
dl dt {
float: left;
@ -270,11 +285,13 @@ dl dt {
text-overflow: ellipsis;
white-space: nowrap;
font-weight: bold;
margin-bottom: 1em; }
margin-bottom: 1em;
}
dl dd {
margin-left: 200px;
margin-bottom: 1em; }
margin-bottom: 1em;
}
hr {
display: block;
@ -282,34 +299,42 @@ dl dt {
border: 0;
border-top: 1px solid #efefef;
margin: 3.2em 0;
padding: 0; }
padding: 0;
}
blockquote {
box-sizing: border-box;
margin: 1.6em 0 1.6em -2.2em;
padding: 0 0 0 1.6em;
border-left: #4a4a4a 0.4em solid; }
border-left: #4a4a4a 0.4em solid;
}
blockquote p {
margin: 0.8em 0; }
margin: 0.8em 0;
}
blockquote small {
display: inline-block;
margin: 0.8em 0 0.8em 1.5em;
font-size: 0.9em;
color: #ccc; }
color: #ccc;
}
blockquote small:before {
content: '\2014 \00A0'; }
content: '\2014 \00A0';
}
blockquote cite {
font-weight: bold; }
font-weight: bold;
}
blockquote cite a {
font-weight: normal; }
font-weight: normal;
}
mark {
background-color: #ffc336; }
background-color: #ffc336;
}
code, tt {
padding: 1px 3px;
@ -319,7 +344,9 @@ dl dt {
border: 1px solid #E3EDF3;
background: #f7f7f9;
color: #d14;
border-radius: 2px; }
border-radius: 2px;
}
/**
pre {
-moz-box-sizing: border-box;
@ -407,65 +434,95 @@ dl dt {
.toc {
border: 1px solid #f0f0f0;
margin-bottom: 20px;
padding: 10px 30px; }
padding: 10px 30px;
}
#fb_comments_container {
overflow: hidden;
margin: 0 auto; }
margin: 0 auto;
}
#fb_comments_container #fb_comments {
list-style-type: none;
padding: 0; }
padding: 0;
}
#fb_comments_container #fb_comments h1 {
font-size: 1.3em; }
font-size: 1.3em;
}
#fb_comments_container #fb_comments h2 {
font-size: 1.2em; }
font-size: 1.2em;
}
#fb_comments_container #fb_comments h3 {
font-size: 1.1em; }
font-size: 1.1em;
}
#fb_comments_container #fb_comments h4, #fb_comments_container #fb_comments h5,
#fb_comments_container #fb_comments h6 {
font-size: 1.05em; }
font-size: 1.05em;
}
#fb_comments_container #fb_comments .comment {
position: relative;
padding: 25px 0;
border-bottom: 1px solid rgba(150, 150, 150, 0.2);
*border-bottom: 1px solid #f0f0f0; }
*border-bottom: 1px solid #f0f0f0;
}
#fb_comments_container #fb_comments .comment .avatar {
position: absolute;
top: 25px;
left: 0;
width: 50px;
float: left; }
float: left;
}
#fb_comments_container #fb_comments .comment .avatar img {
width: 48px;
border: none;
border-radius: 5px;
margin: 0; }
margin: 0;
}
#fb_comments_container #fb_comments .comment .comment_body,
#fb_comments_container #fb_comments .comment .c_content {
margin-left: 70px;
display: block; }
display: block;
}
#fb_comments_container #fb_comments .comment .comment_body p,
#fb_comments_container #fb_comments .comment .c_content p {
margin: 5px 0 15px 0;
padding: 0;
line-height: 1.8; }
line-height: 1.8;
}
#fb_comments_container #fb_comments .comment .comment_body .author,
#fb_comments_container #fb_comments .comment .c_content .author {
line-height: 1.5em;
margin: 0;
padding: 0; }
padding: 0;
}
#fb_comments_container #fb_comments .comment .comment_body .author b,
#fb_comments_container #fb_comments .comment .c_content .author b {
color: #555; }
color: #555;
}
#fb_comments_container #fb_comments .comment .comment_body .author small,
#fb_comments_container #fb_comments .comment .c_content .author small {
font-weight: normal;
padding-left: 10px;
font-size: 0.7em;
color: #666; }
color: #666;
}
#fb_new_comment {
padding-bottom: 50px; }
padding-bottom: 50px;
}
#fb_new_comment textarea {
border-radius: 5px;
height: 80px;
@ -474,17 +531,23 @@ dl dt {
font-size: 1em;
border: 1px solid rgba(150, 150, 150, 0.5);
*border: 1px solid #a8a8a8;
line-height: 1.5; }
line-height: 1.5;
}
#fb_new_comment .comment_error {
color: red;
text-align: center;
display: block;
font-size: 0.8em;
padding-top: 1em; }
padding-top: 1em;
}
#fb_new_comment .c_button:hover {
background: #E60900;
color: #fff;
text-decoration: none; }
text-decoration: none;
}
#fb_new_comment .c_button, #fb_new_comment #c_submit {
cursor: pointer;
font-family: "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
@ -492,31 +555,44 @@ dl dt {
line-height: 1.3em;
letter-spacing: 1px;
border-radius: 5px;
padding: 5px 5px 2px 5px; }
padding: 5px 5px 2px 5px;
}
#fb_new_comment .input_body {
margin-top: 10px; }
margin-top: 10px;
}
#fb_new_comment .input_body ul {
list-style: none;
padding: 5px 0;
margin: auto 0; }
margin: auto 0;
}
#fb_new_comment .input_body ul li {
float: left;
margin-right: 2.2%;
*margin-right: 22px; }
*margin-right: 22px;
}
#fb_new_comment .input_body ul li label {
line-height: 1em; }
line-height: 1em;
}
#fb_new_comment .input_body ul li input {
border-radius: 5px;
border: 1px solid #ddd;
padding: 5px;
background: rgba(255, 255, 255, 0.5);
margin: 0 0 10px 0; }
margin: 0 0 10px 0;
}
#SwfStore_farbox_0 {
height: 0;
overflow: hidden; }
overflow: hidden;
}
@media screen and (max-width: 320px) {
#fb_comments .c_content, #fb_comments .comment_body {
margin-left: 57px; }
margin-left: 57px;
}
}

File diff suppressed because one or more lines are too long

View File

@ -70,6 +70,7 @@ a:hover, a:active {
-webkit-transform: translateY(0);
}
}
@-moz-keyframes fadeInDown {
0% {
opacity: 0;
@ -80,6 +81,7 @@ a:hover, a:active {
-moz-transform: translateY(0);
}
}
@-o-keyframes fadeInDown {
0% {
opacity: 0;
@ -90,6 +92,7 @@ a:hover, a:active {
-o-transform: translateY(0);
}
}
@keyframes fadeInDown {
0% {
opacity: 0;
@ -100,6 +103,7 @@ a:hover, a:active {
transform: translateY(0);
}
}
.fadeInDown {
-webkit-animation-name: fadeInDown;
-moz-animation-name: fadeInDown;
@ -124,46 +128,56 @@ a:hover, a:active {
height: 60px;
border-bottom: 1px solid #f2f2f2;
}
.page-top .nav {
list-style: none;
padding: 18px 30px;
float: left;
font-size: 12px;
}
.page-top .nav li {
position: relative;
display: initial;
padding-right: 20px;
}
.page-top .nav a {
color: #5A5A5A;
}
.page-top .nav a:hover {
color: #4786D6;
}
.page-top .nav a.current {
color: #5A5A5A;
padding-bottom: 22px;
border-bottom: 1px solid #5A5A5A;
}
.page-top .information {
float: right;
padding-top: 12px;
padding-right: 20px;
}
.page-top .information .avatar {
float: right;
}
.page-top .information .avatar img {
width: 32px;
height: 32px;
border-radius: 300px;
}
.page-top .information .back_btn {
float: left;
padding-top: 5px;
margin-right: -10px;
}
.page-top .information .back_btn li {
display: initial;
padding-right: 40px;
@ -182,17 +196,21 @@ a:hover, a:active {
z-index: 4;
border-right: 1px solid #f2f2f2;
}
.sidebar .logo-title {
text-align: center;
padding-top: 240px;
}
.sidebar .logo-title .description {
font-size: 14px;
color: #565654;
}
.sidebar .logo-title .logo {
margin: 0 auto;
}
.sidebar .logo-title .title h3 {
text-transform: uppercase;
font-size: 2rem;
@ -201,29 +219,35 @@ a:hover, a:active {
line-height: 1;
margin: 0;
}
.sidebar .logo-title .title a {
text-decoration: none;
color: #464646;
font-size: 2rem;
font-weight: bold;
}
.sidebar .social-links {
list-style: none;
padding: 0;
font-size: 14px;
text-align: center;
}
.sidebar .social-links i {
margin-right: 3px;
}
.sidebar .social-links li {
display: inline;
padding: 0 4px;
line-height: 0;
}
.sidebar .social-links a {
color: #565654;
}
.sidebar .social-links a:hover {
color: #4786D6;
}
@ -232,12 +256,14 @@ a:hover, a:active {
background-color: #FFF;
margin: 30px;
}
.post .post-title h1 {
text-transform: uppercase;
font-size: 30px;
letter-spacing: 5px;
line-height: 1;
}
.post .post-title h2 {
text-transform: uppercase;
letter-spacing: 1px;
@ -246,6 +272,7 @@ a:hover, a:active {
font-weight: 600;
color: #5f5f5f;
}
.post .post-title h3 {
text-transform: uppercase;
letter-spacing: 1px;
@ -255,79 +282,97 @@ a:hover, a:active {
font-size: 22px;
margin: 0;
}
.post .post-title a {
text-decoration: none;
letter-spacing: 1px;
color: #5f5f5f;
}
.post .post-title a:hover {
text-decoration: underline;
}
.post .post-content a {
text-decoration: none;
letter-spacing: 1px;
color: #4786D6;
}
.post .post-content a:hover {
color: #2F69B3;
}
.post .post-content h3 {
color: #5F5F5F;
font-size: 22px;
font-weight: 600;
}
.post .post-content h4 {
color: #5F5F5F;
font-size: 16px;
}
.post .post-footer {
padding: 0 0 30px 0;
border-bottom: 1px solid #f2f2f2;
}
.post .post-footer .meta {
max-width: 100%;
height: 25px;
color: #bbbbbb;
}
.post .post-footer .meta .info {
float: left;
font-size: 12px;
}
.post .post-footer .meta .info .date {
margin-right: 10px;
}
.post .post-footer .meta a {
text-decoration: none;
color: #bbbbbb;
padding-right: 10px;
}
.post .post-footer .meta a:hover {
color: #4786D6;
}
.post .post-footer .meta i {
margin-right: 6px;
}
.post .post-footer .tags {
padding-bottom: 15px;
font-size: 13px;
}
.post .post-footer .tags ul {
list-style-type: none;
display: inline;
margin: 0;
padding: 0;
}
.post .post-footer .tags ul li {
list-style-type: none;
margin: 0;
padding-right: 5px;
display: inline;
}
.post .post-footer .tags a {
text-decoration: none;
color: rgba(0, 0, 0, 0.44);
font-weight: 400;
}
.post .post-footer .tags a:hover {
text-decoration: none;
}
@ -337,23 +382,28 @@ a:hover, a:active {
padding: 0px 0 56px 0;
border-bottom: 1px solid #f2f2f2;
}
.pagination ul {
list-style: none;
margin: 0;
padding: 0;
height: 13px;
}
.pagination ul li {
margin: 0 2px 0 2px;
display: inline;
line-height: 1;
}
.pagination ul li a {
text-decoration: none;
}
.pagination .pre {
float: left;
}
.pagination .next {
float: right;
}
@ -394,9 +444,11 @@ a:hover, a:active {
padding-bottom: 20px;
background: #fff;
}
.footer a {
color: #A6A6A6;
}
.footer a:hover {
color: #4786D6;
}
@ -411,29 +463,36 @@ a:hover, a:active {
margin: 30px;
padding: 0;
}
.list-with-title li {
list-style-type: none;
padding: 0;
}
.list-with-title .listing-title {
font-size: 24px;
color: #666666;
font-weight: 600;
line-height: 2.2em;
}
.list-with-title .listing {
padding: 0;
}
.list-with-title .listing .listing-post {
padding-bottom: 5px;
}
.list-with-title .listing .listing-post .post-time {
float: right;
color: #C5C5C5;
}
.list-with-title .listing .listing-post a {
color: #8F8F8F;
}
.list-with-title .listing .listing-post a:hover {
color: #4786D6;
}
@ -451,11 +510,13 @@ a:hover, a:active {
background-color: #3E3E3E;
margin-right: 5px;
}
.evernote a {
color: #fff;
padding: 11px;
font-size: 12px;
}
.evernote a:hover {
color: #ED6243;
padding: 11px;
@ -468,10 +529,12 @@ a:hover, a:active {
background-color: #ED6243;
margin-right: 5px;
}
.weibo a {
color: #fff;
padding: 9px;
}
.weibo a:hover {
color: #BD4226;
}
@ -483,10 +546,12 @@ a:hover, a:active {
background-color: #59C0FD;
margin-right: 5px;
}
.twitter a {
color: #fff;
padding: 9px;
}
.twitter a:hover {
color: #4B9ECE;
}
@ -495,6 +560,7 @@ a:hover, a:active {
.about {
margin: 30px;
}
.about h3 {
font-size: 22px;
}
@ -503,9 +569,11 @@ a:hover, a:active {
.links {
margin: 30px;
}
.links h3 {
font-size: 22px;
}
.links a {
cursor: pointer;
}
@ -599,13 +667,16 @@ a.btn {
float: right;
padding-top: 30px;
}
.menu .btn-down {
margin: 0px;
}
.menu .btn-down li {
list-style: none;
width: 100px;
}
.menu .btn-down li a {
display: inline-block;
position: relative;
@ -624,6 +695,7 @@ a.btn {
border-radius: 999em;
margin-top: 5px;
}
.menu .btn-down li a:hover {
position: relative;
padding: 0.5em 1.25em;
@ -641,6 +713,7 @@ a.btn {
border-radius: 999em;
margin-top: 5px;
}
.menu .btn-down div {
position: absolute;
visibility: hidden;
@ -660,12 +733,15 @@ a.btn {
border-right: none;
z-index: 1;
}
.sidebar .logo-title {
padding-top: 120px;
}
.sidebar .logo-title .title img {
width: 100px;
}
.sidebar .logo-title .title h3 {
font-size: 20px;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){function r(){n=!1;for(var r=0;r<i.length;r++){var a=e(i[r]).filter(function(){return e(this).is(":appeared")});if(a.trigger("appear",[a]),t){var o=t.not(a);o.trigger("disappear",[o])}t=a}}var t,i=[],a=!1,n=!1,o={interval:250,force_process:!1},f=e(window);e.expr[":"].appeared=function(r){var t=e(r);if(!t.is(":visible"))return!1;var i=f.scrollLeft(),a=f.scrollTop(),n=t.offset(),o=n.left,p=n.top;return p+t.height()>=a&&p-(t.data("appear-top-offset")||0)<=a+f.height()&&o+t.width()>=i&&o-(t.data("appear-left-offset")||0)<=i+f.width()?!0:!1},e.fn.extend({appear:function(t){var f=e.extend({},o,t||{}),p=this.selector||this;if(!a){var s=function(){n||(n=!0,setTimeout(r,f.interval))};e(window).scroll(s).resize(s),a=!0}return f.force_process&&setTimeout(r,f.interval),i.push(p),e(p)}}),e.extend({force_appear:function(){return a?(r(),!0):!1}})}(jQuery);

File diff suppressed because one or more lines are too long