#pragma once #include #include #include #include using namespace std; using namespace std::experimental::filesystem::v1; class Utilities { protected: const string meta = "meta"; const string link = "link"; const string rel = "rel"; const string href = "href"; const string http_equiv = "http-equiv"; const string content = "content"; const string name = "name"; const string li = "li"; const string ul = "ul"; const string a = "a"; const string src = "src"; const string alt = "alt"; public: static enum DeskOrMob { D, //Desktop part of the page M //Mobile part of the page }; DeskOrMob setDM = D; enum Levels { ROOT,//Content at the index.html directory level LEVEL1,//Content at the first directory LEVEL2//Content at the second directory }; enum Sites { DEV,//Build the thepra-dev.com ART//Build the art.thepra-dev.com }; enum PageType { NORMAL, POST }; static string ChooseLevel(Levels level); static void FullFillContent(string link, string* desktop, string* mobile); static string GetCurrentPath(); }; inline string Utilities::ChooseLevel(Levels level) { switch (level) { case Utilities::ROOT:return ""; break; case Utilities::LEVEL1:return "../"; break; case Utilities::LEVEL2:return "../../"; default:return ""; break; } } inline void Utilities::FullFillContent(string link, string* desktop, string* mobile) { //link = "C:\\content\\index.txt"; //TODO find out a general way to scan the folder env Utilities a = Utilities(); string line = ""; std::ifstream infile; infile.open(link); while (!infile.eof()) { std::getline(infile, line); if (line == "desktop") { line = ""; a.setDM = D; } if (a.setDM == D) { if (line == "mobile") { line = ""; a.setDM = M; } *desktop += line + "\n"; } if (a.setDM == M) { *mobile += line + "\n"; } } infile.close(); } inline string Utilities::GetCurrentPath() { path current = current_path(); string pathString = current.string(); cout << pathString << endl; return pathString; }