From 615e648260a87eb2edabf4aefb456186800e67a1 Mon Sep 17 00:00:00 2001 From: ipknHama Date: Sat, 2 Aug 2014 10:46:00 +0900 Subject: mustache partial implementation --- template_test/mustachetest.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'template_test/mustachetest.cc') 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(is), istreambuf_iterator(), back_inserter(ret)); - return ret; + return {istreambuf_iterator(is), istreambuf_iterator()}; } 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; -- cgit v1.2.3-54-g00ecf