mirror of https://github.com/halo-dev/halo
Config freemarker template loader
parent
d99f3ea1d1
commit
6a2a4532b7
|
@ -18,15 +18,14 @@ import org.springframework.http.converter.HttpMessageConverter;
|
||||||
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||||
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||||
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
|
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
|
||||||
import org.springframework.web.servlet.LocaleResolver;
|
|
||||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
|
||||||
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
|
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
|
@ -99,4 +98,25 @@ public class WebMvcAutoConfiguration implements WebMvcConfigurer {
|
||||||
public void addFormatters(FormatterRegistry registry) {
|
public void addFormatters(FormatterRegistry registry) {
|
||||||
registry.addConverterFactory(new StringToEnumConverterFactory());
|
registry.addConverterFactory(new StringToEnumConverterFactory());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public FreeMarkerConfigurer freemarkerConfig() {
|
||||||
|
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
|
||||||
|
configurer.setTemplateLoaderPaths("file:///" + System.getProperties().getProperty("user.home") + "/halo/templates/", "classpath:/templates/");
|
||||||
|
configurer.setDefaultEncoding("UTF-8");
|
||||||
|
return configurer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void configureViewResolvers(ViewResolverRegistry registry) {
|
||||||
|
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
|
||||||
|
resolver.setAllowRequestOverride(false);
|
||||||
|
resolver.setCache(false);
|
||||||
|
resolver.setExposeRequestAttributes(false);
|
||||||
|
resolver.setExposeSessionAttributes(false);
|
||||||
|
resolver.setExposeSpringMacroHelpers(true);
|
||||||
|
resolver.setSuffix(".ftl");
|
||||||
|
resolver.setContentType("text/html; charset=UTF-8");
|
||||||
|
registry.viewResolver(resolver);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,6 @@ public class ThemeUtils {
|
||||||
theme.setHasUpdate(false);
|
theme.setHasUpdate(false);
|
||||||
}
|
}
|
||||||
theme.setProperties(getProperties(new File(themesBasePath,file.getName())));
|
theme.setProperties(getProperties(new File(themesBasePath,file.getName())));
|
||||||
theme.setInternal(isInternal);
|
|
||||||
themes.add(theme);
|
themes.add(theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,18 +38,6 @@ spring:
|
||||||
hibernate:
|
hibernate:
|
||||||
ddl-auto: update
|
ddl-auto: update
|
||||||
show-sql: true
|
show-sql: true
|
||||||
freemarker:
|
|
||||||
allow-request-override: false
|
|
||||||
cache: false
|
|
||||||
check-template-location: true
|
|
||||||
charset: utf-8
|
|
||||||
content-type: text/html
|
|
||||||
expose-request-attributes: false
|
|
||||||
expose-session-attributes: false
|
|
||||||
expose-spring-macro-helpers: true
|
|
||||||
suffix: .ftl
|
|
||||||
settings:
|
|
||||||
auto_import: /spring.ftl as spring
|
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 10MB
|
||||||
|
|
|
@ -38,18 +38,6 @@ spring:
|
||||||
hibernate:
|
hibernate:
|
||||||
ddl-auto: update
|
ddl-auto: update
|
||||||
show-sql: true
|
show-sql: true
|
||||||
freemarker:
|
|
||||||
allow-request-override: false
|
|
||||||
cache: false
|
|
||||||
check-template-location: true
|
|
||||||
charset: utf-8
|
|
||||||
content-type: text/html
|
|
||||||
expose-request-attributes: false
|
|
||||||
expose-session-attributes: false
|
|
||||||
expose-spring-macro-helpers: true
|
|
||||||
suffix: .ftl
|
|
||||||
settings:
|
|
||||||
auto_import: /spring.ftl as spring
|
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 10MB
|
||||||
|
|
|
@ -40,18 +40,6 @@ spring:
|
||||||
hibernate:
|
hibernate:
|
||||||
ddl-auto: update
|
ddl-auto: update
|
||||||
show-sql: false
|
show-sql: false
|
||||||
freemarker:
|
|
||||||
allow-request-override: false
|
|
||||||
cache: false
|
|
||||||
check-template-location: true
|
|
||||||
charset: utf-8
|
|
||||||
content-type: text/html
|
|
||||||
expose-request-attributes: false
|
|
||||||
expose-session-attributes: false
|
|
||||||
expose-spring-macro-helpers: true
|
|
||||||
suffix: .ftl
|
|
||||||
settings:
|
|
||||||
auto_import: /spring.ftl as spring
|
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
max-file-size: 10MB
|
max-file-size: 10MB
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<meta name="format-detection" content="telephone=no" />
|
<meta name="format-detection" content="telephone=no" />
|
||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<meta name="theme-color" content="${options.anatole_style_google_color!'#fff'}">
|
<meta name="theme-color" content="${options.anatole_style_google_color!'#fff'}">
|
||||||
<meta name="author" content="${user.userDisplayName!}" />
|
<meta name="author" content="${user.nickName!}" />
|
||||||
<meta name="keywords" content="${keywords!}"/>
|
<meta name="keywords" content="${keywords!}"/>
|
||||||
<meta name="description" content="${description!}" />
|
<meta name="description" content="${description!}" />
|
||||||
<@verification></@verification>
|
<@verification></@verification>
|
||||||
|
|
Loading…
Reference in New Issue