diff --git a/src/main/java/run/halo/app/controller/admin/api/ThemeController.java b/src/main/java/run/halo/app/controller/admin/api/ThemeController.java index 4192542b7..a216b118a 100644 --- a/src/main/java/run/halo/app/controller/admin/api/ThemeController.java +++ b/src/main/java/run/halo/app/controller/admin/api/ThemeController.java @@ -135,4 +135,10 @@ public class ThemeController { public ThemeProperty fetchTheme(@RequestParam("uri") String uri) { return themeService.fetch(uri); } + + @PostMapping("reload") + @ApiOperation("Reloads themes") + public void reload() { + themeService.reload(); + } } diff --git a/src/main/java/run/halo/app/service/ThemeService.java b/src/main/java/run/halo/app/service/ThemeService.java index 2ec7841b2..c1596974e 100644 --- a/src/main/java/run/halo/app/service/ThemeService.java +++ b/src/main/java/run/halo/app/service/ThemeService.java @@ -6,7 +6,6 @@ import run.halo.app.handler.theme.config.support.Group; import run.halo.app.handler.theme.config.support.ThemeProperty; import run.halo.app.model.support.ThemeFile; -import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.util.List; @@ -233,4 +232,9 @@ public interface ThemeService { */ @NonNull ThemeProperty fetch(@NonNull String uri); + + /** + * Reloads themes + */ + void reload(); } diff --git a/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java b/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java index ed6235cf1..a967a39c4 100644 --- a/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/ThemeServiceImpl.java @@ -433,6 +433,11 @@ public class ThemeServiceImpl implements ThemeService { } } + @Override + public void reload() { + eventPublisher.publishEvent(new ThemeUpdatedEvent(this)); + } + /** * Clones theme from git. *