diff --git a/src/main/java/run/halo/app/event/freemarker/FreemarkerConfigAwareListener.java b/src/main/java/run/halo/app/event/freemarker/FreemarkerConfigAwareListener.java index d45dc9e9b..72ee60ecb 100644 --- a/src/main/java/run/halo/app/event/freemarker/FreemarkerConfigAwareListener.java +++ b/src/main/java/run/halo/app/event/freemarker/FreemarkerConfigAwareListener.java @@ -88,14 +88,14 @@ public class FreemarkerConfigAwareListener { private void loadOptionsConfig() throws TemplateModelException { configuration.setSharedVariable("options", optionService.listOptions()); - configuration.setSharedVariable("ctx", optionService.getBlogBaseUrl()); + configuration.setSharedVariable("context", optionService.getBlogBaseUrl()); log.debug("Loaded options"); } private void loadThemeConfig() throws TemplateModelException { ThemeProperty activatedTheme = themeService.getActivatedTheme(); configuration.setSharedVariable("theme", activatedTheme); - configuration.setSharedVariable("static", activatedTheme.getFolderName()); + configuration.setSharedVariable("static", optionService.getBlogBaseUrl() + "/" + activatedTheme.getFolderName()); configuration.setSharedVariable("settings", themeSettingService.listAsMapBy(themeService.getActivatedThemeId())); log.debug("Loaded theme and settings"); } diff --git a/src/main/java/run/halo/app/service/PostService.java b/src/main/java/run/halo/app/service/PostService.java index ff4c62428..38f539b31 100755 --- a/src/main/java/run/halo/app/service/PostService.java +++ b/src/main/java/run/halo/app/service/PostService.java @@ -97,6 +97,15 @@ public interface PostService extends BasePostService { @NonNull List listMonthArchives(); + /** + * Import post from markdown document. + * + * @param markdown markdown document. + * @return imported post + */ + @NonNull + Post importMarkdown(@NonNull String markdown); + /** * Converts to detail vo. * diff --git a/src/main/java/run/halo/app/service/SheetService.java b/src/main/java/run/halo/app/service/SheetService.java index 921a4b642..9eef20c25 100644 --- a/src/main/java/run/halo/app/service/SheetService.java +++ b/src/main/java/run/halo/app/service/SheetService.java @@ -45,6 +45,15 @@ public interface SheetService extends BasePostService { @Override Sheet getBy(PostStatus status, String url); + /** + * Import sheet from markdown document. + * + * @param markdown markdown document. + * @return imported sheet + */ + @NonNull + Sheet importMarkdown(@NonNull String markdown); + /** * Converts to list dto page. * @@ -53,6 +62,4 @@ public interface SheetService extends BasePostService { */ @NonNull Page convertToListVo(@NonNull Page sheetPage); - - } diff --git a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java index 4d3bfc309..7f2a8f2b5 100644 --- a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java @@ -26,6 +26,7 @@ import run.halo.app.model.vo.PostListVO; import run.halo.app.repository.PostRepository; import run.halo.app.service.*; import run.halo.app.utils.DateUtils; +import run.halo.app.utils.MarkdownUtils; import run.halo.app.utils.ServiceUtils; import javax.persistence.criteria.Predicate; @@ -272,6 +273,19 @@ public class PostServiceImpl extends BasePostServiceImpl implements PostSe return archives; } + @Override + public Post importMarkdown(String markdown) { + Assert.notNull(markdown, "Markdown document must not be null"); + + // Render markdown to html document. + String content = MarkdownUtils.renderMarkdown(markdown); + + // Gets frontMatter + Map> frontMatter = MarkdownUtils.getFrontMatter(markdown); + + return null; + } + @Override public PostDetailVO convertToDetailVo(Post post) { return convertTo(post, diff --git a/src/main/java/run/halo/app/service/impl/SheetServiceImpl.java b/src/main/java/run/halo/app/service/impl/SheetServiceImpl.java index b03ff1673..b5423117b 100644 --- a/src/main/java/run/halo/app/service/impl/SheetServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/SheetServiceImpl.java @@ -15,6 +15,7 @@ import run.halo.app.repository.SheetRepository; import run.halo.app.service.OptionService; import run.halo.app.service.SheetCommentService; import run.halo.app.service.SheetService; +import run.halo.app.utils.MarkdownUtils; import run.halo.app.utils.ServiceUtils; import java.util.List; @@ -94,6 +95,19 @@ public class SheetServiceImpl extends BasePostServiceImpl implements Shee return sheet; } + @Override + public Sheet importMarkdown(String markdown) { + Assert.notNull(markdown, "Markdown document must not be null"); + + // Render markdown to html document. + String content = MarkdownUtils.renderMarkdown(markdown); + + // Gets frontMatter + Map> frontMatter = MarkdownUtils.getFrontMatter(markdown); + + return null; + } + @Override public Sheet removeById(Integer id) { Sheet sheet = super.removeById(id); diff --git a/src/main/resources/templates/themes/anatole/archives.ftl b/src/main/resources/templates/themes/anatole/archives.ftl index af700d06b..86572f60d 100644 --- a/src/main/resources/templates/themes/anatole/archives.ftl +++ b/src/main/resources/templates/themes/anatole/archives.ftl @@ -14,7 +14,7 @@ <#list archive.posts?sort_by("createTime")?reverse as post>
- ${post.title!} + ${post.title!}
${post.createTime?string("yyyy-MM-dd")}
diff --git a/src/main/resources/templates/themes/anatole/category.ftl b/src/main/resources/templates/themes/anatole/category.ftl index 281e90b00..3423b56b3 100644 --- a/src/main/resources/templates/themes/anatole/category.ftl +++ b/src/main/resources/templates/themes/anatole/category.ftl @@ -12,17 +12,17 @@ <#if posts.hasPrevious()> <#if posts.number == 1>
  • - 上一页 + 上一页
  • <#else >
  • - 上一页 + 上一页
  • <#if posts.hasNext()> diff --git a/src/main/resources/templates/themes/anatole/index.ftl b/src/main/resources/templates/themes/anatole/index.ftl index afb4d5cf8..339fd274e 100644 --- a/src/main/resources/templates/themes/anatole/index.ftl +++ b/src/main/resources/templates/themes/anatole/index.ftl @@ -12,17 +12,17 @@ <#if posts.hasPrevious()> <#if posts.number == 1>
  • - 上一页 + 上一页
  • <#else >
  • - 上一页 + 上一页
  • <#if posts.hasNext()> diff --git a/src/main/resources/templates/themes/anatole/module/macro.ftl b/src/main/resources/templates/themes/anatole/module/macro.ftl index b3d5a9363..6d864f8ec 100644 --- a/src/main/resources/templates/themes/anatole/module/macro.ftl +++ b/src/main/resources/templates/themes/anatole/module/macro.ftl @@ -16,9 +16,9 @@ <@verification /> <@favicon /> - - - + + +