Inja is a template engine for modern C++, loosely inspired by jinja for python. It has an easy and yet powerful template syntax with all variables, loops, conditions, includes, callbacks, and comments you need, nested and combined as you like. Inja uses the wonderful json library by nlohmann for data input. Most importantly, inja needs only two header files, which is (nearly) as trivial as integration in C++ can get. Of course, everything is tested on all relevant compilers. Inja is a headers only library, which can be downloaded from the releases or directly from the include/ or single_include/ folder. Inja uses nlohmann/json.hpp as its single dependency, so make sure it can be included from inja.hpp. json can be downloaded here.

Features

  • The basic template rendering takes a template as a std::string and a json object for all data. It returns the rendered template as an std::string
  • If you are using the Meson Build System, then you can wrap this repository as a subproject
  • Conditions support the typical if, else if and else statements
  • A few functions are implemented within the inja template syntax
  • You can create your own and more complex functions with callbacks
  • Template inheritance allows you to build a base skeleton template that contains all the common elements and defines blocks that child templates can override

Project Samples

Project Activity

See All Activity >

Categories

JSON

License

MIT License

Follow Inja

Inja Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Inja!

Additional Project Details

Programming Language

C++

Related Categories

C++ JSON Software

Registered

2023-10-12