aboutsummaryrefslogblamecommitdiffstats
path: root/book/src/getting_started.md
blob: 4b7fb5fbe6fe52dd139251dcf1ca404d8c7ccc13 (plain) (tree)




































                                                                             
# Getting Started

First, add the following to your crate's `Cargo.toml`:

```toml
# in section [dependencies]
askama = "0.8"

```

Now create a directory called `templates` in your crate root.
In it, create a file called `hello.html`, containing the following:

```
Hello, {{ name }}!
```

In any Rust file inside your crate, add the following:

```rust
use askama::Template; // bring trait in scope

#[derive(Template)] // this will generate the code...
#[template(path = "hello.html")] // using the template in this path, relative
                                 // to the `templates` dir in the crate root
struct HelloTemplate<'a> { // the name of the struct can be anything
    name: &'a str, // the field name should match the variable name
                   // in your template
}

fn main() {
    let hello = HelloTemplate { name: "world" }; // instantiate your struct
    println!("{}", hello.render().unwrap()); // then render it.
}
```

You should now be able to compile and run this code.