Skip to content

Commit 7390bfa

Browse files
authored
feat: add verison parameter for component resources (#22)
为搜索组件资源添加版本号,防止升级之后无法及时更新缓存。 /kind improvement ```release-note 为搜索组件资源添加版本号,防止升级之后无法及时更新缓存。 ```
1 parent 53af4d9 commit 7390bfa

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
id 'java'
3+
id "io.freefair.lombok" version "8.0.1"
34
id "com.github.node-gradle.node" version "3.3.0"
45
id "run.halo.plugin.devtools" version "0.0.4"
56
}
Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
package run.halo.search.widget;
22

3+
import lombok.RequiredArgsConstructor;
4+
import org.pf4j.PluginWrapper;
35
import org.springframework.stereotype.Component;
6+
import org.springframework.util.PropertyPlaceholderHelper;
47
import org.thymeleaf.context.ITemplateContext;
58
import org.thymeleaf.model.IModel;
69
import org.thymeleaf.model.IModelFactory;
710
import org.thymeleaf.processor.element.IElementModelStructureHandler;
811
import reactor.core.publisher.Mono;
912
import run.halo.app.theme.dialect.TemplateHeadProcessor;
1013

14+
import java.util.Properties;
15+
1116
@Component
17+
@RequiredArgsConstructor
1218
public class SearchWidgetHeadProcessor implements TemplateHeadProcessor {
1319

14-
public SearchWidgetHeadProcessor() {
15-
}
20+
static final PropertyPlaceholderHelper PROPERTY_PLACEHOLDER_HELPER = new PropertyPlaceholderHelper("${", "}");
21+
22+
private final PluginWrapper pluginWrapper;
1623

1724
@Override
1825
public Mono<Void> process(ITemplateContext context, IModel model,
@@ -23,11 +30,15 @@ public Mono<Void> process(ITemplateContext context, IModel model,
2330
}
2431

2532
private String searchWidgetScript() {
26-
return """
33+
34+
final Properties properties = new Properties();
35+
properties.setProperty("version", pluginWrapper.getDescriptor().getVersion());
36+
37+
return PROPERTY_PLACEHOLDER_HELPER.replacePlaceholders("""
2738
<!-- PluginSearchWidget start -->
28-
<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js" async></script>
29-
<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css" />
39+
<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=${version}" async></script>
40+
<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=${version}" />
3041
<!-- PluginSearchWidget end -->
31-
""";
42+
""", properties);
3243
}
3344
}

0 commit comments

Comments
 (0)