aboutsummaryrefslogtreecommitdiff
path: root/src/TemplateManager.hpp
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2021-09-30 21:12:57 +0200
committerToni Uhlig <matzeton@googlemail.com>2021-09-30 21:12:57 +0200
commit6c04dfe2caff1e03ba5c898b591327439452f616 (patch)
tree11c6f6955de188c48015641c1ae2e63b0d0e50d6 /src/TemplateManager.hpp
parentec7cfa85530082127703278cf1ae5167990c0f45 (diff)
CMS functionality works just find..minimal-working-example
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/TemplateManager.hpp')
-rw-r--r--src/TemplateManager.hpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/TemplateManager.hpp b/src/TemplateManager.hpp
new file mode 100644
index 0000000..7b89d71
--- /dev/null
+++ b/src/TemplateManager.hpp
@@ -0,0 +1,28 @@
+#ifndef TEMPLATEMANAGER_H
+#define TEMPLATEMANAGER_H 1
+
+#include "Content.hpp"
+#include "Filesystem.hpp"
+
+#include <inja/inja.hpp>
+
+class TemplateManager
+{
+public:
+ TemplateManager();
+ ~TemplateManager()
+ {
+ }
+
+ void ParseTemplates(Filesystem const & fs);
+ void AddInjaCallback(std::string functionName, std::size_t numberOfArgs, inja::CallbackFunction function);
+ void AddVoidInjaCallback(std::string functionName, std::size_t numberOfArgs, inja::VoidCallbackFunction function);
+ bool TemplateExists(std::string const & templatePath);
+ bool RenderTemplate(std::string const & templatePath, RenderData const & rd, std::string & out);
+
+private:
+ inja::TemplateStorage m_Templates;
+ inja::Environment m_Inja;
+};
+
+#endif