Skip to content

Commit

Permalink
Add generator meta into head
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnNiang committed Nov 5, 2023
1 parent caa4d44 commit 2210efe
Showing 1 changed file with 35 additions and 0 deletions.
@@ -0,0 +1,35 @@
package run.halo.app.theme.dialect;

import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.info.BuildProperties;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.thymeleaf.context.ITemplateContext;
import org.thymeleaf.model.IModel;
import org.thymeleaf.processor.element.IElementModelStructureHandler;
import reactor.core.publisher.Mono;

@Order()
@Component
public class MetaGeneratorProcessor implements TemplateHeadProcessor {

private final String generatorValue;

public MetaGeneratorProcessor(ObjectProvider<BuildProperties> buildProperties) {
this.generatorValue = "Halo " + buildProperties.stream().findFirst()
.map(BuildProperties::getVersion)
.orElse("Unknown");
}

@Override
public Mono<Void> process(ITemplateContext context, IModel model,
IElementModelStructureHandler structureHandler) {
return Mono.fromRunnable(() -> {
var modelFactory = context.getModelFactory();
var generatorMeta =
modelFactory.createStandaloneElementTag("meta", "generator", generatorValue);
model.add(generatorMeta);
});
}

}

0 comments on commit 2210efe

Please sign in to comment.