diff --git a/jpress-core/src/main/java/io/jpress/web/render/TemplateRender.java b/jpress-core/src/main/java/io/jpress/web/render/TemplateRender.java index ad4abb0b29f0bf01ce1df18766903b642874fc0a..bb005026a491f26f5b28c26f63d708b4f169446b 100644 --- a/jpress-core/src/main/java/io/jpress/web/render/TemplateRender.java +++ b/jpress-core/src/main/java/io/jpress/web/render/TemplateRender.java @@ -53,8 +53,6 @@ public class TemplateRender extends Render { return engine; } - private String cdnDomain = JPressOptions.getCDNDomain(); - public TemplateRender(String view) { this.view = view; } @@ -113,6 +111,12 @@ public class TemplateRender extends Render { Elements linkElements = doc.select("link[href]"); replace(linkElements, "href"); + Elements audioElements = doc.select("audio[src]"); + replace(audioElements, "src"); + + Elements sourceElements = doc.select("source[src]"); + replace(sourceElements, "src"); + return doc.toString(); } @@ -123,6 +127,13 @@ public class TemplateRender extends Render { if (template == null) { return; } + + // 后端修改后不需要重新启动,每次渲染页面获取一次 + String cdnDomain = JPressOptions.getCDNDomain(); + + // CDN 排除的路径 + String cdnExclude = JPressOptions.get("cdn_exclude"); + while (iterator.hasNext()) { Element element = iterator.next(); @@ -159,7 +170,7 @@ public class TemplateRender extends Render { url = contextPath + template.getWebAbsolutePath() + "/" + url; } - if (StrUtil.isNotBlank(cdnDomain)) { + if (StrUtil.isNotBlank(cdnDomain) && !url.contains(cdnExclude)) { url = cdnDomain + url; }