#templating #string #pair #instance #name #replacing

bin+lib nanotemplate

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

4 releases (2 breaking)

0.3.0 Sep 22, 2022
0.2.1 Jun 23, 2021
0.2.0 May 5, 2021
0.1.0 May 4, 2021

#146 in Template engine

Download history 3504/week @ 2024-07-20 586/week @ 2024-07-27 577/week @ 2024-08-03 664/week @ 2024-08-10 619/week @ 2024-08-17 645/week @ 2024-08-24 742/week @ 2024-08-31 2230/week @ 2024-09-07 2455/week @ 2024-09-14 2365/week @ 2024-09-21 1128/week @ 2024-09-28 1348/week @ 2024-10-05 1465/week @ 2024-10-12 1366/week @ 2024-10-19 2105/week @ 2024-10-26 680/week @ 2024-11-02

5,671 downloads per month
Used in 2 crates

MIT license

17KB
298 lines

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

No runtime deps