#include #include #include #include "utf8.h" namespace fs = std::filesystem; char* read(const char* name) { std::ifstream file_stream(name, std::ios_base::binary); int count = 0; file_stream.seekg(0, file_stream.end); int length = file_stream.tellg(); file_stream.seekg(0, file_stream.beg); char* data = (char*) calloc(length+1, 1); file_stream.read(data, length); file_stream.close(); return data; } string32 readfile(std::string name) { char* data = read(name.c_str()); string32 file = string32 (data); free (data); return file; } struct frontMatter { char* layout; string32 parsed; frontMatter(string32 unparsedPage) { std::vector lines = unparsedPage.split("\n"); if (lines.front() == "---") { int line = 1; for (;lines[line]!="---";line++) { std::vector dataToParse = lines[line].split(": "); if (dataToParse[0] == "layout") layout = dataToParse[1].asChar(); } line++; for (;line