diff --git a/templatepage.cpp b/templatepage.cpp index a6f7911..2725947 100644 --- a/templatepage.cpp +++ b/templatepage.cpp @@ -27,7 +27,7 @@ TemplatePage::TemplatePage() TemplatePage::TemplatePage(std::string content) { - this->content = content; + this->content = std::make_shared(content); } void TemplatePage::setVar(const std::string &key, std::string value) @@ -40,5 +40,5 @@ std::string TemplatePage::render() const Varreplacer replacer("{qswiki:"); replacer.addResolver("var", [&](std::string_view key) { return utils::getKeyOrEmpty(this->varsMap, std::string(key)); }); - return replacer.parse(this->content); + return replacer.parse(*this->content); } diff --git a/templatepage.h b/templatepage.h index a509b8d..aabbe77 100644 --- a/templatepage.h +++ b/templatepage.h @@ -3,10 +3,11 @@ #include #include #include +#include class TemplatePage { private: - std::string content; + std::shared_ptr content; std::map varsMap; public: