mirror of https://github.com/halo-dev/halo
chore: upgrade flexmark version. (#695)
* chore: upgrade flexmark version. * fix: test case.pull/696/head
parent
a70780c5df
commit
26fdbb2cf3
14
build.gradle
14
build.gradle
|
@ -6,11 +6,14 @@ plugins {
|
|||
}
|
||||
|
||||
group = 'run.halo.app'
|
||||
archivesBaseName = 'halo'
|
||||
version = '1.3.0-beta.3'
|
||||
sourceCompatibility = '1.8'
|
||||
description = 'Halo, An excellent open source blog publishing application.'
|
||||
|
||||
java {
|
||||
archivesBaseName = 'halo'
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://maven.aliyun.com/nexus/content/groups/public'
|
||||
|
@ -55,7 +58,7 @@ ext {
|
|||
set('httpclientVersion', "4.5.12")
|
||||
set('dataformatYamlVersion', "2.10.3")
|
||||
set('jgitVersion', "5.7.0.202003110725-r")
|
||||
set('flexmarkVersion', "0.42.12")
|
||||
set('flexmarkVersion', "0.60.2")
|
||||
set('thumbnailatorVersion', "0.4.11")
|
||||
set('image4jVersion', "0.7zensight1")
|
||||
set('flywayVersion', "6.3.1")
|
||||
|
@ -63,6 +66,7 @@ ext {
|
|||
set('levelDbVersion', "0.12")
|
||||
set('jsonVersion', "20190722")
|
||||
set('fastJsonVersion', "1.2.66")
|
||||
set('annotationsVersion',"3.0.1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -87,6 +91,7 @@ dependencies {
|
|||
implementation "org.apache.httpcomponents:httpclient:${httpclientVersion}"
|
||||
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${dataformatYamlVersion}"
|
||||
implementation "org.eclipse.jgit:org.eclipse.jgit:${jgitVersion}"
|
||||
implementation "com.google.code.findbugs:annotations:${annotationsVersion}"
|
||||
|
||||
implementation "com.vladsch.flexmark:flexmark:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-attributes:${flexmarkVersion}"
|
||||
|
@ -99,9 +104,10 @@ dependencies {
|
|||
implementation "com.vladsch.flexmark:flexmark-ext-media-tags:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-tables:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-toc:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-superscript:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-yaml-front-matter:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-ext-gitlab:${flexmarkVersion}"
|
||||
implementation "com.vladsch.flexmark:flexmark-html-parser:${flexmarkVersion}"
|
||||
// implementation "com.vladsch.flexmark:flexmark-html-parser:${flexmarkVersion}"
|
||||
|
||||
implementation "net.coobird:thumbnailator:${thumbnailatorVersion}"
|
||||
implementation "net.sf.image4j:image4j:${image4jVersion}"
|
||||
|
|
|
@ -43,12 +43,6 @@ public class LinkController {
|
|||
return new LinkDTO().convertFrom(linkService.getById(id));
|
||||
}
|
||||
|
||||
@GetMapping("parse")
|
||||
@ApiOperation("Gets link by parse url")
|
||||
public LinkDTO getByParse(@RequestParam("url") String url) {
|
||||
return linkService.getByParse(url);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation("Creates a link")
|
||||
public LinkDTO createBy(@RequestBody @Valid LinkParam linkParam) {
|
||||
|
|
|
@ -9,7 +9,6 @@ import run.halo.app.model.entity.BaseComment;
|
|||
import run.halo.app.model.entity.BasePost;
|
||||
import run.halo.app.model.entity.Category;
|
||||
import run.halo.app.model.entity.Tag;
|
||||
import run.halo.app.utils.MarkdownUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
@ -129,7 +128,7 @@ public class WordPressConverter implements Converter<Rss, List<PostVO>> {
|
|||
BasePost post = RelationMapperUtils.convertFrom(item, BasePost.class);
|
||||
Date postDate = DateUtil.parseDateTime(item.getPostDate());
|
||||
if (StringUtils.isNoneEmpty(post.getFormatContent())) {
|
||||
post.setOriginalContent(MarkdownUtils.renderMarkdown(post.getFormatContent()));
|
||||
post.setOriginalContent(post.getFormatContent());
|
||||
}
|
||||
post.setCreateTime(postDate);
|
||||
post.setUpdateTime(postDate);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package run.halo.app.model.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
|
@ -12,12 +14,14 @@ import java.util.Objects;
|
|||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString(callSuper = true)
|
||||
@RequiredArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "post_categories",
|
||||
indexes = {@Index(name = "post_categories_post_id", columnList = "post_id"),
|
||||
@Index(name = "post_categories_category_id", columnList = "category_id")})
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class PostCategory extends BaseEntity {
|
||||
|
||||
@Id
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package run.halo.app.model.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
|
@ -13,12 +15,14 @@ import java.util.Objects;
|
|||
* @author ryanwang
|
||||
* @date 2019-03-12
|
||||
*/
|
||||
@Data
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString(callSuper = true)
|
||||
@RequiredArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "post_tags",
|
||||
indexes = {@Index(name = "post_tags_post_id", columnList = "post_id"),
|
||||
@Index(name = "post_tags_tag_id", columnList = "tag_id")})
|
||||
@ToString(callSuper = true)
|
||||
public class PostTag extends BaseEntity {
|
||||
|
||||
@Id
|
||||
|
|
|
@ -19,12 +19,6 @@ import java.util.List;
|
|||
*/
|
||||
public interface LinkService extends CrudService<Link, Integer> {
|
||||
|
||||
String META_NAME = "name";
|
||||
|
||||
String META_DESCRIPTION = "description";
|
||||
|
||||
String META_CONTENT = "content";
|
||||
|
||||
/**
|
||||
* List link dtos.
|
||||
*
|
||||
|
@ -66,12 +60,4 @@ public interface LinkService extends CrudService<Link, Integer> {
|
|||
* @return a list of teams.
|
||||
*/
|
||||
List<String> listAllTeams();
|
||||
|
||||
/**
|
||||
* Get link by parse url.
|
||||
*
|
||||
* @param url url must not be null
|
||||
* @return link dto
|
||||
*/
|
||||
LinkDTO getByParse(@NonNull String url);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package run.halo.app.service.impl;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.springframework.data.domain.Example;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.lang.NonNull;
|
||||
|
@ -11,7 +8,6 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import run.halo.app.exception.AlreadyExistsException;
|
||||
import run.halo.app.exception.BadRequestException;
|
||||
import run.halo.app.model.dto.LinkDTO;
|
||||
import run.halo.app.model.entity.Link;
|
||||
import run.halo.app.model.params.LinkParam;
|
||||
|
@ -21,7 +17,6 @@ import run.halo.app.service.LinkService;
|
|||
import run.halo.app.service.base.AbstractCrudService;
|
||||
import run.halo.app.utils.ServiceUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@ -105,30 +100,6 @@ public class LinkServiceImpl extends AbstractCrudService<Link, Integer> implemen
|
|||
return linkRepository.findAllTeams();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LinkDTO getByParse(String url) {
|
||||
Assert.hasText(url, "Url must not be blank");
|
||||
LinkDTO linkDTO = new LinkDTO();
|
||||
linkDTO.setUrl(url);
|
||||
try {
|
||||
Document document = Jsoup.connect(url).get();
|
||||
|
||||
// Get html title.
|
||||
linkDTO.setName(document.title());
|
||||
|
||||
// Get html metas.
|
||||
Elements metas = document.head().select("meta");
|
||||
metas.forEach(element -> {
|
||||
if (META_DESCRIPTION.equalsIgnoreCase(element.attr(META_NAME))) {
|
||||
linkDTO.setDescription(element.attr(META_CONTENT));
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
throw new BadRequestException("获取网站信息失败").setErrorData(e);
|
||||
}
|
||||
return linkDTO;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private List<LinkDTO> convertTo(@Nullable List<Link> links) {
|
||||
if (CollectionUtils.isEmpty(links)) {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import com.vladsch.flexmark.convert.html.FlexmarkHtmlParser;
|
||||
import com.vladsch.flexmark.ext.attributes.AttributesExtension;
|
||||
import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
|
||||
import com.vladsch.flexmark.ext.emoji.EmojiExtension;
|
||||
|
@ -12,6 +11,7 @@ import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension;
|
|||
import com.vladsch.flexmark.ext.gitlab.GitLabExtension;
|
||||
import com.vladsch.flexmark.ext.ins.InsExtension;
|
||||
import com.vladsch.flexmark.ext.media.tags.MediaTagsExtension;
|
||||
import com.vladsch.flexmark.ext.superscript.SuperscriptExtension;
|
||||
import com.vladsch.flexmark.ext.tables.TablesExtension;
|
||||
import com.vladsch.flexmark.ext.toc.TocExtension;
|
||||
import com.vladsch.flexmark.ext.yaml.front.matter.AbstractYamlFrontMatterVisitor;
|
||||
|
@ -19,8 +19,8 @@ import com.vladsch.flexmark.ext.yaml.front.matter.YamlFrontMatterExtension;
|
|||
import com.vladsch.flexmark.html.HtmlRenderer;
|
||||
import com.vladsch.flexmark.parser.Parser;
|
||||
import com.vladsch.flexmark.util.ast.Node;
|
||||
import com.vladsch.flexmark.util.options.DataHolder;
|
||||
import com.vladsch.flexmark.util.options.MutableDataSet;
|
||||
import com.vladsch.flexmark.util.data.DataHolder;
|
||||
import com.vladsch.flexmark.util.data.MutableDataSet;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import run.halo.app.model.support.HaloConst;
|
||||
|
||||
|
@ -32,7 +32,7 @@ import java.util.Map;
|
|||
* Markdown utils.
|
||||
*
|
||||
* @author ryanwang
|
||||
* @date 2019/06/27
|
||||
* @date 2019-06-27
|
||||
*/
|
||||
public class MarkdownUtils {
|
||||
|
||||
|
@ -48,6 +48,7 @@ public class MarkdownUtils {
|
|||
MediaTagsExtension.create(),
|
||||
TablesExtension.create(),
|
||||
TocExtension.create(),
|
||||
SuperscriptExtension.create(),
|
||||
YamlFrontMatterExtension.create(),
|
||||
GitLabExtension.create())
|
||||
)
|
||||
|
@ -99,15 +100,15 @@ public class MarkdownUtils {
|
|||
return RENDERER.render(document);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render html document to markdown document.
|
||||
*
|
||||
* @param html html document
|
||||
* @return markdown document
|
||||
*/
|
||||
public static String renderMarkdown(String html) {
|
||||
return FlexmarkHtmlParser.parse(html);
|
||||
}
|
||||
// /**
|
||||
// * Render html document to markdown document.
|
||||
// *
|
||||
// * @param html html document
|
||||
// * @return markdown document
|
||||
// */
|
||||
// public static String renderMarkdown(String html) {
|
||||
// return FlexmarkHtmlParser.parse(html);
|
||||
// }
|
||||
|
||||
/**
|
||||
* Get front-matter
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit c0309ef9c8607cddab14ce6005168cb7b19ef066
|
||||
Subproject commit 287bebe0bd3dc5d658537eb5b5bc9b906522cb1d
|
Loading…
Reference in New Issue