tinted-builder
A Rust library to generate base16 and base24 templates using the
0.11.1 builder specification.
This library exposes a Scheme and Template struct which you can use
to generate your own themes using base16 and base24 templates and
0.11.1 compliant base16 and base24 scheme files.
Internally tinted-builder uses ribboncurls to render the templates.
Installation
Usage
use ;
let template = Stringfrom;
let scheme_str = r##"system: "base16"
name: "UwUnicorn"
author: "Fernando Marques (https://github.com/RakkiUwU) and Gabriel Fontes (https://github.com/Misterio77)"
variant: "dark"
palette:
base00: "#241b26"
base01: "#2f2a3f"
base02: "#46354a"
base03: "#6c3cb2"
base04: "#7e5f83"
base05: "#eed5d9"
base06: "#d9c2c6"
base07: "#e4ccd0"
base08: "#877bb6"
base09: "#de5b44"
base0A: "#a84a73"
base0B: "#c965bf"
base0C: "#9c5fce"
base0D: "#6a9eb5"
base0E: "#78a38f"
base0F: "#a3a079""##;
let scheme = Base16;
let template = new;
let output = template
.render
.unwrap;
assert_eq!;
- Create a scheme (
Scheme) enum variant while providing the deserialized data into into the variant:Scheme::Base16(serde_yaml::from_str(&scheme_str).unwrap())in this case - Create a template by passing the serialized mustache text and the
Schemevariant in step 1 into theTemplatestruct:Template::new(mustache_text, scheme). Thetemplate.render()method takes the scheme, generates the variables defined in the0.11.1builder specification and returns a new string. - Render the template by running a method which returns a
Result<String, TintedBuilderError>type:let output = template.render().unwrap();
Contributing
Contributions are welcome! Have a look at CONTRIBUTING.md for more information.
License
Ribboncurls is dual-licensed under the [Apache 2.0] and [MIT] licenses. For more information about the licenses of the projects used by Ribboncurls, have a look at LICENSES-THIRD-PARTY.md.