diff --git a/README.md b/README.md index e1d1540..cba9493 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,13 @@ std::string result = env.render("Hello {{ name }}!", data); // "Hello world!" // Or directly read a template file Template temp = env.parse_template("./template.txt"); -std::string result = temp.render(data); // "Hello world!" +std::string result = env.render_template(temp, data); // "Hello world!" data["name"] = "Inja"; -std::string result = temp.render(data); // "Hello Inja!" +std::string result = env.render_template(temp, data); // "Hello Inja!" // Or read a json file for data directly from the environment -result = env.render_template("./template.txt", "./data.json"); +result = env.render_file("./template.txt", "./data.json"); // Or write a rendered template file temp.write(data, "./result.txt") diff --git a/src/inja.hpp b/src/inja.hpp index 4f629c0..9ea9cee 100644 --- a/src/inja.hpp +++ b/src/inja.hpp @@ -872,19 +872,24 @@ public: return renderer.render(parse(text), data); } - std::string render_template(const std::string& filename, json data) { + std::string render_template(const Template temp, json data) { + renderer.element_notation = element_notation; + return renderer.render(temp, data); + } + + std::string render_file(const std::string& filename, json data) { renderer.element_notation = element_notation; return renderer.render(parse_template(filename), data); } - std::string render_template_with_json_file(const std::string& filename, const std::string& filename_data) { + std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { json data = load_json(filename_data); - return render_template(filename, data); + return render_file(filename, data); } void write(const std::string& filename, json data, const std::string& filename_out) { std::ofstream file(output_path + filename_out); - file << render_template(filename, data); + file << render_file(filename, data); file.close(); } diff --git a/test/src/unit-files.cpp b/test/src/unit-files.cpp index 11665ca..6408690 100644 --- a/test/src/unit-files.cpp +++ b/test/src/unit-files.cpp @@ -16,11 +16,11 @@ TEST_CASE("loading") { } SECTION("Files should be rendered") { - CHECK( env.render_template("data/simple.txt", data) == "Hello Jeff." ); + CHECK( env.render_file("data/simple.txt", data) == "Hello Jeff." ); } SECTION("File includes should be rendered") { - CHECK( env.render_template("data/include.txt", data) == "Answer: Hello Jeff." ); + CHECK( env.render_file("data/include.txt", data) == "Answer: Hello Jeff." ); } } @@ -29,7 +29,7 @@ TEST_CASE("complete-files") { for (std::string test_name : {"simple-file", "nested", "nested-line"}) { SECTION(test_name) { - CHECK( env.render_template_with_json_file(test_name + "/template.txt", test_name + "/data.json") == env.load_global_file(test_name + "/result.txt") ); + CHECK( env.render_file_with_json_file(test_name + "/template.txt", test_name + "/data.json") == env.load_global_file(test_name + "/result.txt") ); } } }