aboutsummaryrefslogtreecommitdiffstats
path: root/book/src/getting_started.md
diff options
context:
space:
mode:
Diffstat (limited to 'book/src/getting_started.md')
-rw-r--r--book/src/getting_started.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/book/src/getting_started.md b/book/src/getting_started.md
new file mode 100644
index 0000000..4b7fb5f
--- /dev/null
+++ b/book/src/getting_started.md
@@ -0,0 +1,37 @@
+# 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.