aboutsummaryrefslogtreecommitdiffstats
path: root/template_test/mustachetest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'template_test/mustachetest.cc')
-rw-r--r--template_test/mustachetest.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/template_test/mustachetest.cc b/template_test/mustachetest.cc
index 3b80b5d..c4ac2c9 100644
--- a/template_test/mustachetest.cc
+++ b/template_test/mustachetest.cc
@@ -11,15 +11,22 @@ using namespace crow::mustache;
string read_all(const string& filename)
{
ifstream is(filename);
- string ret;
- copy(istreambuf_iterator<char>(is), istreambuf_iterator<char>(), back_inserter(ret));
- return ret;
+ return {istreambuf_iterator<char>(is), istreambuf_iterator<char>()};
}
int main()
{
auto data = json::load(read_all("data"));
auto templ = compile(read_all("template"));
+ auto partials = json::load(read_all("partials"));
+ set_loader([&](std::string name)->std::string
+ {
+ if (partials.count(name))
+ {
+ return partials[name].s();
+ }
+ return "";
+ });
context ctx(data);
cout << templ.render(ctx);
return 0;