package com.xcong.farmer.cms.cms.template;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.xcong.farmer.cms.cms.node.AttrNode;
|
import com.xcong.farmer.cms.cms.node.PartNode;
|
import org.jsoup.Jsoup;
|
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Element;
|
import org.jsoup.select.Elements;
|
|
import java.io.File;
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class TemplateLoader {
|
|
private Configuration cfg;
|
private List<Template> templates = new ArrayList<>();
|
|
public TemplateLoader() {}
|
|
public TemplateLoader(Configuration cfg) {
|
this.cfg = cfg;
|
}
|
|
public Template template(File file) {
|
Document document = null;
|
try {
|
document = Jsoup.parse(file, "utf-8");
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
if (document == null) {
|
throw new NullPointerException();
|
}
|
|
Template template = new Template();
|
template.setDocument(document);
|
template.setName(file.getName());
|
|
template.parser();
|
return template;
|
}
|
|
public List<Template> templates(String templatePath) {
|
File files = new File(templatePath);
|
if (files.listFiles() == null) {
|
return null;
|
}
|
|
for (File file : files.listFiles()) {
|
if (file.isDirectory()) {
|
continue;
|
}
|
templates.add(template(file));
|
}
|
|
return templates;
|
}
|
|
public List<Template> templates() {
|
return templates(cfg.getTemplatePath());
|
}
|
}
|