主题端 HTML Head 标签处理
主题端 HTML Head 标签处理扩展点的作用是干预 HTML 页面中的 Head 标签内容,可以添加自定义的 CSS、JS 及 meta 标签等,以满足特定的定制化需求。
如果标签可能同时由主题或其他插件提供,应提供可关闭的插件设置并检查最终页面,避免重复或冲突。完整边界参考与主题集成。
使用场景
- 添加自定义样式或脚本:在 HTML Head 中插入额外的 CSS 文件或 JavaScript 脚本文件,以增强页面的交互性或样式。
- 定制 Meta 标签:为特定页面添加或修改 meta 标签,如描述、作者、关键词等,以提高 SEO 和页面信息的完整性。
- 引入第三方库:引入第三方库(如 Google Fonts、Font Awesome 等),以满足页面的特殊功能或风格需求。
- 定制 Open Graph 等社交媒体标签:为社交媒体分享优化页面标签内容。
扩展点定义
主题端 HTML Head 标签处理的扩展点定义为 TemplateHeadProcessor,对应的 ExtensionPoint 类型为 MULTI_INSTANCE,即可以有多个实现类。
TemplateHeadProcessor 对应的 ExtensionPointDefinition 资源描述如下:
即声明 ExtensionDefinition 自定义模型对象时对应的 extensionPointName 为 template-head-processor。
示例实现
以下是一个简单的 TemplateHeadProcessor 插件实现示例:
多个处理器会按 Spring @Order 顺序执行。源码参考:TemplateHeadProcessor。
声明 ExtensionDefinition 自定义模型对象时对应的 extensionPointName 为 template-head-processor。