Initial site generation

This commit is contained in:
James Grogan 2022-12-05 17:50:49 +00:00
parent f44c79dc1f
commit fc44290e3f
35 changed files with 667 additions and 303 deletions

View file

@ -1,50 +0,0 @@
#pragma once
#include "File.h"
#include "TemplateNodes.h"
#include <vector>
class TemplateFile
{
public:
TemplateFile(const Path& path);
std::vector<std::string> getProcessedContent() const;
std::string getName() const;
void loadContent();
void onTextBodyFinished(std::string working_string = {});
void processLine(const std::string& line);
void onFoundStatement(const std::string& statement_string);
void onFoundBlock(const std::vector<std::string> args);
void onFoundEndBlock(const std::vector<std::string> args);
void onFoundExtends(const std::vector<std::string> args);
void onFoundExpression(const std::string& expression_string);
void dumpContent();
TemplateNode* getContent() const
{
return mRootNode.get();
}
private:
Path mPath;
unsigned mWorkingLine{ 0 };
std::string mParentName;
std::vector<std::string> mRawContent;
std::vector<std::string> mProcessedContent;
std::unique_ptr<TemplateNode> mRootNode;
TemplateNode* mWorkingNode{ nullptr };
std::unique_ptr<TemplateTextBody> mWorkingTextBody;
};