Some repairs for md_parser and template engine.
This commit is contained in:
parent
8705859115
commit
22157169c0
14 changed files with 180 additions and 159 deletions
|
@ -26,18 +26,16 @@ std::string TemplatingEngine::renderTemplate(const std::string& name, TemplateSu
|
|||
if (!file->hasLoaded())
|
||||
{
|
||||
file->loadContent();
|
||||
std::cout << file->dumpContent();
|
||||
//std::cout << file->dumpContent();
|
||||
|
||||
processTemplate(file, nullptr);
|
||||
}
|
||||
|
||||
return file->getContent()->render(substitutionContext, nullptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TemplatingEngine::loadTemplateFiles()
|
||||
|
@ -62,21 +60,20 @@ TemplateFile* TemplatingEngine::getTemplateFile(const std::string& name)
|
|||
|
||||
void TemplatingEngine::processTemplate(TemplateFile* file, TemplateNode* parent)
|
||||
{
|
||||
std::cout << "Processing file " << file->getName() << std::endl;
|
||||
|
||||
auto content = file->getContent();
|
||||
if (parent)
|
||||
{
|
||||
std::cout << "Setting extension parent" << std::endl;
|
||||
content->setExtensionParent(parent);
|
||||
parent->setExtensionBase(content);
|
||||
}
|
||||
|
||||
if (auto extension_node = dynamic_cast<TemplateExtends*>(content->getFirstChildShallow(TemplateNode::Type::EXTENDS)))
|
||||
{
|
||||
std::cout << "Found extension node " << std::endl;
|
||||
if (auto extension_template = getTemplateFile(Path(extension_node->getPath())))
|
||||
{
|
||||
std::cout << "Found extension template " << std::endl;
|
||||
extension_template->loadContent();
|
||||
//std::cout << extension_template->dumpContent();
|
||||
|
||||
processTemplate(extension_template, content);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue