~jpastuszek/nanotemplate

A minimal templating engine that renders a string from the template, replacing all instances of {placeholder} with given values
(cargo-release) start next development iteration 0.2.0
(cargo-release) version 0.2.0
template is now more relaxed; added strict and default variant

clone

read-only
https://git.sr.ht/~jpastuszek/nanotemplate
read/write
git@git.sr.ht:~jpastuszek/nanotemplate

You can also use your local clone with git send-email.

Latest Version Documentation License

A minimal templating engine that renders a string from the template, replacing all instances of {placeholder} with given values.

The engine is strict:

  • all placeholders must have values provided (use template_default to use default value for placeholders),
  • all provided values must have matching placeholder (when using template_strict),
  • a single placeholder can be used multiple times and will be expanded in all places.

Values are provided as an iterable object that provides placeholder name and value pairs.

use nanotemplate::template;

assert_eq!(
	template("Hello, my name is {name}!", &[("name", "nanotemplate")]).unwrap(),
	"Hello, my name is nanotemplate!".to_owned());

Also comes with simple CLI utility:

echo "Hello my name is {name}" | nanotemplate name=nanotemplate