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
The Most Powerful Software Platform for EHSQ and ESG Management Icon
The Most Powerful Software Platform for EHSQ and ESG Management

Addresses the needs of small businesses and large global organizations with thousands of users in multiple locations.

Choose from a complete set of software solutions across EHSQ that address all aspects of top performing Environmental, Health and Safety, and Quality management programs.
Learn More
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