mirror of https://github.com/halo-dev/halo
feat: change themes assets base path (#538)
* feat: change theme resources base path. * feat: add new variable about theme base path.pull/539/head
parent
63122ef625
commit
e40de371d1
|
@ -43,7 +43,7 @@ import static run.halo.app.model.support.HaloConst.HALO_ADMIN_RELATIVE_PATH;
|
|||
import static run.halo.app.utils.HaloUtils.*;
|
||||
|
||||
/**
|
||||
* Mvc configuration.
|
||||
* Spring mvc configuration.
|
||||
*
|
||||
* @author ryanwang
|
||||
* @date 2018-01-02
|
||||
|
@ -90,12 +90,17 @@ public class WebMvcAutoConfiguration implements WebMvcConfigurer {
|
|||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
String workDir = FILE_PROTOCOL + ensureSuffix(haloProperties.getWorkDir(), FILE_SEPARATOR);
|
||||
|
||||
// register /** resource handler.
|
||||
registry.addResourceHandler("/**")
|
||||
.addResourceLocations(workDir + "templates/themes/")
|
||||
.addResourceLocations(workDir + "templates/admin/")
|
||||
.addResourceLocations("classpath:/admin/")
|
||||
.addResourceLocations(workDir + "static/");
|
||||
|
||||
// register /themes/** resource handler.
|
||||
registry.addResourceHandler("/themes/**")
|
||||
.addResourceLocations(workDir + "templates/themes/");
|
||||
|
||||
String uploadUrlPattern = ensureBoth(haloProperties.getUploadUrlPrefix(), URL_SEPARATOR) + "**";
|
||||
String adminPathPattern = ensureSuffix(haloProperties.getAdminPath(), URL_SEPARATOR) + "**";
|
||||
|
||||
|
@ -159,7 +164,7 @@ public class WebMvcAutoConfiguration implements WebMvcConfigurer {
|
|||
configurer.setConfiguration(configuration);
|
||||
|
||||
// Set layout variable
|
||||
Map<String, Object> freemarkerVariables = new HashMap<>(5);
|
||||
Map<String, Object> freemarkerVariables = new HashMap<>(3);
|
||||
|
||||
freemarkerVariables.put("layout", freemarkerLayoutDirectives());
|
||||
|
||||
|
|
|
@ -103,8 +103,15 @@ public class FreemarkerConfigAwareListener {
|
|||
|
||||
Boolean enabledAbsolutePath = optionService.getByPropertyOrDefault(OtherProperties.GLOBAL_ABSOLUTE_PATH_ENABLED, Boolean.class, true);
|
||||
|
||||
String themeBasePath = (enabledAbsolutePath ? optionService.getBlogBaseUrl() : "") + "/themes/" + activatedTheme.getFolderName();
|
||||
|
||||
configuration.setSharedVariable("theme", activatedTheme);
|
||||
configuration.setSharedVariable("static", (enabledAbsolutePath ? optionService.getBlogBaseUrl() : "") + "/" + activatedTheme.getFolderName());
|
||||
|
||||
// TODO: It will be removed in future versions
|
||||
configuration.setSharedVariable("static", themeBasePath);
|
||||
|
||||
configuration.setSharedVariable("theme_base", themeBasePath);
|
||||
|
||||
configuration.setSharedVariable("settings", themeSettingService.listAsMapBy(themeService.getActivatedThemeId()));
|
||||
log.debug("Loaded theme and settings");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue