diff --git a/build.gradle b/build.gradle
index 2875b3d19..922f94a0f 100644
--- a/build.gradle
+++ b/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}"
diff --git a/src/main/java/run/halo/app/controller/admin/api/LinkController.java b/src/main/java/run/halo/app/controller/admin/api/LinkController.java
index 798b36563..82d2b2670 100644
--- a/src/main/java/run/halo/app/controller/admin/api/LinkController.java
+++ b/src/main/java/run/halo/app/controller/admin/api/LinkController.java
@@ -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) {
diff --git a/src/main/java/run/halo/app/handler/migrate/converter/WordPressConverter.java b/src/main/java/run/halo/app/handler/migrate/converter/WordPressConverter.java
index cc49a933d..af8a0a5d1 100644
--- a/src/main/java/run/halo/app/handler/migrate/converter/WordPressConverter.java
+++ b/src/main/java/run/halo/app/handler/migrate/converter/WordPressConverter.java
@@ -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);
diff --git a/src/main/java/run/halo/app/model/entity/PostCategory.java b/src/main/java/run/halo/app/model/entity/PostCategory.java
index 4215fc1b8..c4e7b4b98 100644
--- a/src/main/java/run/halo/app/model/entity/PostCategory.java
+++ b/src/main/java/run/halo/app/model/entity/PostCategory.java
@@ -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
diff --git a/src/main/java/run/halo/app/model/entity/PostTag.java b/src/main/java/run/halo/app/model/entity/PostTag.java
index fd4e61b4a..5c164c378 100644
--- a/src/main/java/run/halo/app/model/entity/PostTag.java
+++ b/src/main/java/run/halo/app/model/entity/PostTag.java
@@ -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
diff --git a/src/main/java/run/halo/app/service/LinkService.java b/src/main/java/run/halo/app/service/LinkService.java
index e22300a38..e06e73261 100755
--- a/src/main/java/run/halo/app/service/LinkService.java
+++ b/src/main/java/run/halo/app/service/LinkService.java
@@ -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);
 }
diff --git a/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java b/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
index 5fb3d60e6..7679fa43e 100644
--- a/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/LinkServiceImpl.java
@@ -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)) {
diff --git a/src/main/java/run/halo/app/utils/MarkdownUtils.java b/src/main/java/run/halo/app/utils/MarkdownUtils.java
index c9fa05430..fc4fa6f29 100644
--- a/src/main/java/run/halo/app/utils/MarkdownUtils.java
+++ b/src/main/java/run/halo/app/utils/MarkdownUtils.java
@@ -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
diff --git a/src/main/resources/templates/themes/anatole b/src/main/resources/templates/themes/anatole
index c0309ef9c..287bebe0b 160000
--- a/src/main/resources/templates/themes/anatole
+++ b/src/main/resources/templates/themes/anatole
@@ -1 +1 @@
-Subproject commit c0309ef9c8607cddab14ce6005168cb7b19ef066
+Subproject commit 287bebe0bd3dc5d658537eb5b5bc9b906522cb1d