From 97641c088c44dd60f63e697466c73613a1c63262 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 02 Jul 2022 21:37:01 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/farmer-cms

---
 src/main/java/com/xcong/farmer/cms/cms/template/TemplateLoader.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/cms/template/TemplateLoader.java b/src/main/java/com/xcong/farmer/cms/cms/template/TemplateLoader.java
new file mode 100644
index 0000000..154732e
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/cms/template/TemplateLoader.java
@@ -0,0 +1,66 @@
+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());
+    }
+}

--
Gitblit v1.9.1