From 767fa132b635f28132e93f819560e3ef27676190 Mon Sep 17 00:00:00 2001 From: RYAN0UP_ Date: Thu, 3 May 2018 20:37:21 +0800 Subject: [PATCH] =?UTF-8?q?:alien:=20=E4=BF=AE=E6=94=B9=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=AE=89=E8=A3=85=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cc/ryanc/halo/model/domain/Post.java | 5 + .../halo/service/impl/PostServiceImpl.java | 4 +- .../controller/admin/OptionController.java | 3 + .../web/controller/admin/PostController.java | 37 +- .../controller/core/InstallController.java | 18 +- .../web/controller/front/IndexController.java | 2 + .../controller/front/OthersController.java | 2 +- .../web/interceptor/InstallInterceptor.java | 14 +- .../templates/admin/admin_option.ftl | 4 +- .../resources/templates/admin/admin_page.ftl | 8 - .../templates/admin/admin_page_link.ftl | 4 +- .../templates/admin/module/_macro.ftl | 4 +- .../common/comment/_native_comment.ftl | 2 +- .../themes/Anatole/module/options.ftl | 34 + .../themes/Anatole/module/sidebar.ftl | 2 +- .../themes/Anatole/module/social-list.ftl | 45 +- .../Anatole/source/css/font-awesome.min.css | 1591 +------- .../source/fonts/fontawesome-webfont.eot | Bin 56006 -> 165742 bytes .../source/fonts/fontawesome-webfont.svg | 3185 ++++++++++++++--- .../source/fonts/fontawesome-webfont.ttf | Bin 112160 -> 165548 bytes .../source/fonts/fontawesome-webfont.woff | Bin 65452 -> 98024 bytes .../themes/Material/_partial/blog_info.ftl | 2 +- .../themes/Material/_partial/post-nav.ftl | 4 +- .../templates/themes/anatole/gallery.ftl | 1 + .../anatole/source/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../source/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes 26 files changed, 2803 insertions(+), 2168 deletions(-) mode change 100644 => 100755 src/main/resources/templates/themes/Anatole/source/css/font-awesome.min.css mode change 100644 => 100755 src/main/resources/templates/themes/Anatole/source/fonts/fontawesome-webfont.eot mode change 100644 => 100755 src/main/resources/templates/themes/Anatole/source/fonts/fontawesome-webfont.svg mode change 100644 => 100755 src/main/resources/templates/themes/Anatole/source/fonts/fontawesome-webfont.ttf mode change 100644 => 100755 src/main/resources/templates/themes/Anatole/source/fonts/fontawesome-webfont.woff create mode 100755 src/main/resources/templates/themes/anatole/source/fonts/FontAwesome.otf create mode 100755 src/main/resources/templates/themes/anatole/source/fonts/fontawesome-webfont.woff2 diff --git a/src/main/java/cc/ryanc/halo/model/domain/Post.java b/src/main/java/cc/ryanc/halo/model/domain/Post.java index 8a1cb13cb..da6435c57 100755 --- a/src/main/java/cc/ryanc/halo/model/domain/Post.java +++ b/src/main/java/cc/ryanc/halo/model/domain/Post.java @@ -104,6 +104,11 @@ public class Post implements Serializable{ */ private Date postDate; + /** + * 最后一次更新时间 + */ + private Date postUpdate; + /** * 0 已发布 * 1 草稿 diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java index ca806e83f..b42995e94 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java @@ -79,8 +79,10 @@ public class PostServiceImpl implements PostService { for(Post post:posts){ if(!(HaloUtil.htmlToText(post.getPostContent()).length() cateList, @RequestParam("tagList") String tagList, HttpSession session){ + //发表用户 + User user = (User)session.getAttribute(HaloConst.USER_SESSION_KEY); + if(null==user){ + return; + } + if(null!=post.getPostId()){ + post = postService.findByPostId(post.getPostId()).get(); + } try{ //提取摘要 int postSummary = 50; if(HaloUtil.isNotNull(HaloConst.OPTIONS.get("post_summary"))){ postSummary = Integer.parseInt(HaloConst.OPTIONS.get("post_summary")); } - if(HaloUtil.htmlToText(post.getPostContent()).length()>postSummary){ + String summaryText = HaloUtil.htmlToText(post.getPostContent()); + if(summaryText.length()>postSummary){ String summary = HaloUtil.getSummary(post.getPostContent(), postSummary); post.setPostSummary(summary); + }else{ + post.setPostSummary(summaryText); + } + if(null!=post.getPostId()){ + post.setPostUpdate(HaloUtil.getDate()); + }else{ + post.setPostDate(HaloUtil.getDate()); + post.setPostUpdate(HaloUtil.getDate()); } - post.setPostDate(HaloUtil.getDate()); - //发表用户 - User user = (User)session.getAttribute(HaloConst.USER_SESSION_KEY); post.setUser(user); List categories = categoryService.strListToCateList(cateList); post.setCategories(categories); @@ -274,6 +287,7 @@ public class PostController extends BaseController{ /** * 将所有文章推送到百度 + * * @param baiduToken baiduToken * @return true or false */ @@ -283,14 +297,13 @@ public class PostController extends BaseController{ if(StringUtils.isEmpty(baiduToken)){ return false; } - String blogUrl = optionsService.findOneOption("blog_url"); + String blogUrl = HaloConst.OPTIONS.get("blog_url"); List posts = postService.findAllPosts(HaloConst.POST_TYPE_POST); String urls = ""; for(Post post:posts){ urls+=blogUrl+"/archives/"+post.getPostUrl()+"\n"; } - String result = HaloUtil.baiduPost(blogUrl,baiduToken,urls); - log.info(result); + HaloUtil.baiduPost(blogUrl,baiduToken,urls); return true; } } diff --git a/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java b/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java index ab3bbe156..eb1d76706 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/core/InstallController.java @@ -11,11 +11,9 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.io.File; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -64,9 +62,7 @@ public class InstallController { @GetMapping public String install(Model model){ try{ - File basePath = new File(ResourceUtils.getURL("classpath:").getPath()); - File installFile = new File(basePath.getAbsolutePath(), "install.lock"); - if(installFile.exists()){ + if(StringUtils.equals("true",HaloConst.OPTIONS.get("is_install"))){ model.addAttribute("isInstall",true); }else{ model.addAttribute("isInstall",false); @@ -99,15 +95,9 @@ public class InstallController { @RequestParam("userPwd") String userPwd, HttpServletRequest request){ try{ - //创建install.lock文件 - File basePath = new File(ResourceUtils.getURL("classpath:").getPath()); - File installFile = new File(basePath.getAbsolutePath(), "install.lock"); - if(installFile.exists()){ + if(StringUtils.equals("true",HaloConst.OPTIONS.get("is_install"))){ return false; - }else{ - installFile.createNewFile(); } - //创建新的用户 User user= new User(); user.setUserName(userName); @@ -156,12 +146,14 @@ public class InstallController { comment.setIsAdmin(0); commentService.saveByComment(comment); + optionsService.saveOption("is_install","true"); + //保存博客标题和博客地址设置 optionsService.saveOption("blog_title",blogTitle); optionsService.saveOption("blog_url",blogUrl); //设置默认主题 - optionsService.saveOption("theme","halo"); + optionsService.saveOption("theme","anatole"); //建立网站时间 optionsService.saveOption("blog_start",HaloUtil.getStringDate("yyyy-MM-dd")); diff --git a/src/main/java/cc/ryanc/halo/web/controller/front/IndexController.java b/src/main/java/cc/ryanc/halo/web/controller/front/IndexController.java index eb502471c..327db1b19 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/front/IndexController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/front/IndexController.java @@ -4,6 +4,7 @@ import cc.ryanc.halo.model.domain.Post; import cc.ryanc.halo.model.dto.HaloConst; import cc.ryanc.halo.service.PostService; import cc.ryanc.halo.web.controller.core.BaseController; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -25,6 +26,7 @@ import java.util.List; * @version : 1.0 * @date : 2018/4/26 */ +@Slf4j @Controller @RequestMapping(value = {"/","index"}) public class IndexController extends BaseController { diff --git a/src/main/java/cc/ryanc/halo/web/controller/front/OthersController.java b/src/main/java/cc/ryanc/halo/web/controller/front/OthersController.java index a50909e44..fd9941c6c 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/front/OthersController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/front/OthersController.java @@ -31,7 +31,7 @@ public class OthersController { * * @return rss */ - @GetMapping(value = {"feed","feed.xml","atom","atom.xml"},produces = "application/rss+xml;charset=UTF-8") + @GetMapping(value = {"feed","feed.xml","atom","atom.xml"},produces = "application/xml;charset=UTF-8") @ResponseBody public String feed(){ String rssPosts = HaloConst.OPTIONS.get("rss_posts"); diff --git a/src/main/java/cc/ryanc/halo/web/interceptor/InstallInterceptor.java b/src/main/java/cc/ryanc/halo/web/interceptor/InstallInterceptor.java index de941c75e..359c721e8 100644 --- a/src/main/java/cc/ryanc/halo/web/interceptor/InstallInterceptor.java +++ b/src/main/java/cc/ryanc/halo/web/interceptor/InstallInterceptor.java @@ -1,13 +1,15 @@ package cc.ryanc.halo.web.interceptor; +import cc.ryanc.halo.model.dto.HaloConst; +import cc.ryanc.halo.service.OptionsService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.util.ResourceUtils; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; /** * @author : RYAN0UP @@ -17,11 +19,13 @@ import java.io.File; */ @Component public class InstallInterceptor implements HandlerInterceptor { + + @Autowired + private OptionsService optionsService; + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { - File basePath = new File(ResourceUtils.getURL("classpath:").getPath()); - File installFile = new File(basePath.getAbsolutePath(), "install.lock"); - if(installFile.exists()){ + if(StringUtils.equals("true",HaloConst.OPTIONS.get("is_install"))){ return true; } response.sendRedirect("/install"); diff --git a/src/main/resources/templates/admin/admin_option.ftl b/src/main/resources/templates/admin/admin_option.ftl index d5b558599..19ec26d1b 100755 --- a/src/main/resources/templates/admin/admin_option.ftl +++ b/src/main/resources/templates/admin/admin_option.ftl @@ -409,10 +409,10 @@
diff --git a/src/main/resources/templates/admin/admin_page.ftl b/src/main/resources/templates/admin/admin_page.ftl index 8ab7bd649..2b319af0c 100755 --- a/src/main/resources/templates/admin/admin_page.ftl +++ b/src/main/resources/templates/admin/admin_page.ftl @@ -65,14 +65,6 @@ 配置 - - 关于页面 - /about - - 预览 - 配置 - - diff --git a/src/main/resources/templates/admin/admin_page_link.ftl b/src/main/resources/templates/admin/admin_page_link.ftl index 59d392ed7..ad018d7bc 100755 --- a/src/main/resources/templates/admin/admin_page_link.ftl +++ b/src/main/resources/templates/admin/admin_page_link.ftl @@ -144,9 +144,7 @@ function isNull() { var name = $('#linkName').val(); var url = $('#linkUrl').val(); - var pic = $('#linkPic').val(); - var desc = $('#linkDesc').val(); - if(name==""||url==""||pic==""){ + if(name==""||url==""){ showMsg("请输入完整信息!","info",2000); return false; } diff --git a/src/main/resources/templates/admin/module/_macro.ftl b/src/main/resources/templates/admin/module/_macro.ftl index 8b3c5d47c..79f5ceee2 100644 --- a/src/main/resources/templates/admin/module/_macro.ftl +++ b/src/main/resources/templates/admin/module/_macro.ftl @@ -21,7 +21,7 @@ -<#if options.admin_loading?default("true") == "true"> +<#if options.admin_loading?default("false") == "true">
@@ -49,7 +49,7 @@ <#if options.admin_pjax?default("true") == "true"> $(document).pjax('a[data-pjax=true]', '.content-wrapper', {fragment: '.content-wrapper',timeout: 8000}); - <#if options.admin_loading?default("true") == "true"> + <#if options.admin_loading?default("false") == "true"> $(window).on('load', function(){ $('body').addClass('loaded'); setTimeout(function () { diff --git a/src/main/resources/templates/common/comment/_native_comment.ftl b/src/main/resources/templates/common/comment/_native_comment.ftl index 3843e6e2f..07dc9e87d 100644 --- a/src/main/resources/templates/common/comment/_native_comment.ftl +++ b/src/main/resources/templates/common/comment/_native_comment.ftl @@ -190,7 +190,7 @@ var date = new Date(timestamp).toLocaleDateString(); var content = element.commentContent; var authorPic = md5(authorEmail); - $('.native-list').append("
  • "+author+" "+browser+" "+os+"

    "+content+"

    "+date+" 回复
  • "); + $('.native-list').append("
  • "+author+" "+browser+" "+os+"

    "+content+"

    "+date+" 回复
  • "); }); } }); diff --git a/src/main/resources/templates/themes/Anatole/module/options.ftl b/src/main/resources/templates/themes/Anatole/module/options.ftl index 811b0e804..ccd574715 100644 --- a/src/main/resources/templates/themes/Anatole/module/options.ftl +++ b/src/main/resources/templates/themes/Anatole/module/options.ftl @@ -41,6 +41,17 @@
    +
    + +
    + + +
    +
    @@ -83,6 +94,18 @@
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + + +
    +
    diff --git a/src/main/resources/templates/themes/Anatole/module/sidebar.ftl b/src/main/resources/templates/themes/Anatole/module/sidebar.ftl index ecd4a9756..659092d33 100644 --- a/src/main/resources/templates/themes/Anatole/module/sidebar.ftl +++ b/src/main/resources/templates/themes/Anatole/module/sidebar.ftl @@ -1,7 +1,7 @@