mirror of https://github.com/halo-dev/halo
🎨 Enhance utils
parent
e2c2468be2
commit
39a4d7d8fb
|
@ -1,11 +1,14 @@
|
|||
package cc.ryanc.halo.utils;
|
||||
|
||||
import cc.ryanc.halo.model.domain.Comment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import cc.ryanc.halo.model.domain.Comment;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 拼装评论
|
||||
|
@ -23,6 +26,10 @@ public class CommentUtil {
|
|||
* @return List
|
||||
*/
|
||||
public static List<Comment> getComments(List<Comment> commentsRoot) {
|
||||
if (CollectionUtils.isEmpty(commentsRoot)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<Comment> commentsResult = new ArrayList<>();
|
||||
|
||||
for (Comment comment : commentsRoot) {
|
||||
|
@ -47,6 +54,12 @@ public class CommentUtil {
|
|||
* @return List
|
||||
*/
|
||||
private static List<Comment> getChild(Long id, List<Comment> commentsRoot) {
|
||||
Assert.notNull(id, "comment id must not be null");
|
||||
|
||||
if (CollectionUtils.isEmpty(commentsRoot)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<Comment> commentsChild = new ArrayList<>();
|
||||
for (Comment comment : commentsRoot) {
|
||||
if (comment.getCommentParent() != 0) {
|
||||
|
|
|
@ -16,6 +16,8 @@ import com.sun.syndication.io.FeedException;
|
|||
import com.sun.syndication.io.WireFeedOutput;
|
||||
import io.github.biezhi.ome.OhMyEmail;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
@ -109,7 +111,8 @@ public class HaloUtils {
|
|||
*/
|
||||
public static Date getCreateTime(String srcPath) {
|
||||
Path path = Paths.get(srcPath);
|
||||
BasicFileAttributeView basicview = Files.getFileAttributeView(path, BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS);
|
||||
BasicFileAttributeView basicview = Files.getFileAttributeView(path, BasicFileAttributeView.class,
|
||||
LinkOption.NOFOLLOW_LINKS);
|
||||
BasicFileAttributes attr;
|
||||
try {
|
||||
attr = basicview.readAttributes();
|
||||
|
@ -161,7 +164,8 @@ public class HaloUtils {
|
|||
}
|
||||
theme = new Theme();
|
||||
theme.setThemeName(file.getName());
|
||||
File optionsPath = new File(themesPath.getAbsolutePath(), file.getName() + "/module/options.ftl");
|
||||
File optionsPath = new File(themesPath.getAbsolutePath(),
|
||||
file.getName() + "/module/options.ftl");
|
||||
if (optionsPath.exists()) {
|
||||
theme.setHasOptions(true);
|
||||
} else {
|
||||
|
@ -220,8 +224,7 @@ public class HaloUtils {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取定制模板
|
||||
* 格式 page_xxx
|
||||
* 获取定制模板 格式 page_xxx
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
|
@ -284,6 +287,8 @@ public class HaloUtils {
|
|||
* @throws FeedException
|
||||
*/
|
||||
public static String getRss(List<Post> posts) throws FeedException {
|
||||
Assert.notEmpty(posts, "posts must not be empty");
|
||||
|
||||
Channel channel = new Channel("rss_2.0");
|
||||
if (null == HaloConst.OPTIONS.get(BlogPropertiesEnum.BLOG_TITLE.getProp())) {
|
||||
channel.setTitle("");
|
||||
|
@ -318,7 +323,8 @@ public class HaloUtils {
|
|||
value = new String(xmlChar);
|
||||
content.setValue(value);
|
||||
item.setContent(content);
|
||||
item.setLink(HaloConst.OPTIONS.get(BlogPropertiesEnum.BLOG_URL.getProp()) + "/archives/" + post.getPostUrl());
|
||||
item.setLink(
|
||||
HaloConst.OPTIONS.get(BlogPropertiesEnum.BLOG_URL.getProp()) + "/archives/" + post.getPostUrl());
|
||||
item.setPubDate(post.getPostDate());
|
||||
items.add(item);
|
||||
}
|
||||
|
@ -334,12 +340,15 @@ public class HaloUtils {
|
|||
* @return String
|
||||
*/
|
||||
public static String getSiteMap(List<Post> posts) {
|
||||
Assert.notEmpty(posts, "post mut not be empty");
|
||||
|
||||
String head = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">";
|
||||
String urlBody = "";
|
||||
String urlItem;
|
||||
String urlPath = HaloConst.OPTIONS.get(BlogPropertiesEnum.BLOG_URL.getProp()) + "/archives/";
|
||||
for (Post post : posts) {
|
||||
urlItem = "<url><loc>" + urlPath + post.getPostUrl() + "</loc><lastmod>" + DateUtil.format(post.getPostDate(), "yyyy-MM-dd'T'HH:mm:ss.SSSXXX") + "</lastmod>" + "</url>";
|
||||
urlItem = "<url><loc>" + urlPath + post.getPostUrl() + "</loc><lastmod>"
|
||||
+ DateUtil.format(post.getPostDate(), "yyyy-MM-dd'T'HH:mm:ss.SSSXXX") + "</lastmod>" + "</url>";
|
||||
urlBody += urlItem;
|
||||
}
|
||||
return head + urlBody + "</urlset>";
|
||||
|
@ -365,6 +374,8 @@ public class HaloUtils {
|
|||
* @return String
|
||||
*/
|
||||
public static String getHttpResponse(String enterUrl) {
|
||||
Assert.hasText(enterUrl, "enter url must not be blank");
|
||||
|
||||
BufferedReader in = null;
|
||||
StringBuffer result = null;
|
||||
try {
|
||||
|
@ -396,7 +407,6 @@ public class HaloUtils {
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 百度主动推送
|
||||
*
|
||||
|
@ -406,6 +416,10 @@ public class HaloUtils {
|
|||
* @return String
|
||||
*/
|
||||
public static String baiduPost(String blogUrl, String token, String urls) {
|
||||
Assert.hasText(blogUrl, "blog url must not be blank");
|
||||
Assert.hasText(token, "token must not be blank");
|
||||
Assert.hasText(urls, "urls must not be blank");
|
||||
|
||||
String url = "http://data.zz.baidu.com/urls?site=" + blogUrl + "&token=" + token;
|
||||
String result = "";
|
||||
PrintWriter out = null;
|
||||
|
|
Loading…
Reference in New Issue