Skip to content
/ liquidpp Public

C++14 version of the Liquid Markup Language. Liquid is an open-source text template language.

License

Notifications You must be signed in to change notification settings

mrpi/liquidpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

liquidpp

C++ version of the Liquid Markup Language. It is build on "Modern C++" techniques (C++14).

Usage

liquidpp::Context c;
c.set("name", "Donald Drumpf");
auto rendered = liquidpp::render("Hello {{name}}!", c);
REQUIRE("Hello Donald Drumpf!" == rendered);

Features

  • Extendable with your own value types
  • Extendable with your own reflection/container types (support for std::vector, std::map, std::tuple, boost::variant, boost::property_tree, RapidJSON and Google ProtoBuf included)
  • Fast rendering (you can cache parsed templates and context objects)
  • Optimized for speed (no regular expressions and few allocations)

Requirements

  • cmake
  • C++14 compiler + STL (GCC, CLANG or MSVC 2015)
  • BOOST (only header: lexical_cast, variant, optional, container)
  • CATCH Unit Test Framework (shipped)
  • C++17 string_view (shipped version is used if not available on your system)

Status

This software has beta state but supports nearly all features of the original Ruby version of the Liquid Markup Language.

  • on Travis-CI: Travis Build Status
  • on AppVeyor: AppVeyor Build Status

About

C++14 version of the Liquid Markup Language. Liquid is an open-source text template language.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published