Skip to content
/ varj Public

Ultra lightweight rust templating utility. Simply parse {{ key }} into value.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

sonro/varj

Repository files navigation

varj

Crates.io msrv 1.71.1 tests Documentation license

A string interpolation utility to replace Mustache like placeholders with stored variables.

  • Works as an extremely lightweight template library
  • Does not require template compilation
  • Simply replaces {{ key }} with value
  • Whitespace surrounding the key is ignored: {{key}} and {{ key }} are equal.

Interact with this utility via VarjMap.

Examples

Basic usage:

let mut map = varj::VarjMap::new();
map.insert("key", "value");

let expected = "value";
let actual = map.render("{{ key }}")?;

assert_eq!(expected, actual);

With a json string:

let mut variables = varj::VarjMap::new();
variables.insert("name", "Christopher");
variables.insert("age", "30");

let json = r#"{
"name" = "{{ name }}",
"age" = {{ age }}
}"#;

let expected = r#"{
"name" = "Christopher",
"age" = 30
}"#;

let actual = variables.render(json)?;

assert_eq!(expected, actual);

VarjMap implements From<HashMap> and can be converted back to one when needed. This is useful if you want to build a VarjMap from an iterator, or iterate over one. See example.

MSRV Policy

The minimum supported Rust version is currently 1.71.1.

varj supports the latest 8 stable releases of Rust - approximately 1 year. Increasing MSRV is not considered a semver-breaking change.

Contributing

Thank you very much for considering to contribute to this project!

We welcome any form of contribution:

  • New issues (feature requests, bug reports, questions, ideas, ...)
  • Pull requests (documentation improvements, code improvements, new features, ...)

Note: Before you take the time to open a pull request, please open an issue first.

See CONTRIBUTING.md for details.

License

varj is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

About

Ultra lightweight rust templating utility. Simply parse {{ key }} into value.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Languages