srtemplate

Crates.iosrtemplate
lib.rssrtemplate
version0.3.0
sourcesrc
created_at2023-10-15 20:32:09.978119
updated_at2024-04-01 04:44:34.435591
descriptionTemplate String made with nom parser
homepagehttps://github.com/SergioRibera/srtemplate
repositoryhttps://github.com/SergioRibera/srtemplate
max_upload_size
id1004101
size59,259
Sergio Alejandro Ribera Costa (SergioRibera)

documentation

README

srtemplate

GitHub Workflow Status (with event) Crates.io docs.rs

SrTemplate

Mr. strings template is a library that allows you to render just text templates.

Links

  • You can see a real example here, it is a real time template renderer.
  • Documentation here
  • Wiki

Features

  • Super fast
  • Efficient
  • Renders variables of all types
  • Function system
  • Easy implementation of custom functions
  • Minimum possible dependencies
  • Feature-based implementations, use only what you need
  • Using the same variables renders multiple times

Basic example

[!NOTE] See more examples here

use srtemplate::SrTemplate;

fn main() {
    let mut ctx = SrTemplate::default();
    ctx.add_variable("var", &"World");
    ctx.add_variable("otherVar", &"Other");
    ctx.add_variable("number", &85u8);
    
    let template = "Hello {{ var }}! This is {{ otherVar }} and this is number: {{number}}";
    println!("Rendered: {}", ctx.render(template).unwrap());
}

[!NOTE] For more information about the functions implemented by default or how to use the library in depth, see the wiki

TODO's

  • I would like to change the way custom functions are implemented.
  • Macros to create custom functions
  • Better add_variable function to make more easy and performance managing Cow
Commit count: 97

cargo fmt