# Akari: Easy template language & Json Implementation
install by
`cargo install akari`
Akari is consists of 2 components, one is Json Implementation for rust, and the second component is the template rendering language
# Akari Json
Macro is used in creating Akari Json.
```rust
use akari::object;
object!({
number: 3,
string: "Hello",
array: [1, 2, 3],
object: {
a: 1,
b: 2,
c: 3
}
})
```
Then you can create a Json.
Where you can also use
```rust
use akari::object;
use akari::Object; // Notice the capital O meaning that Object is a struct not macro
let json = r#"{"key": "value", "number": 42, "list": [1, 2, 3]}"#;
let obj = Object::from_json(json).expect("Failed to parse JSON");
let dir = "D://test/test.json";
Object::from_jsonf(dir).unwrap_or(Object::None); // Read a json from a file
obj.into_jsonf(dir); // Write obj into the dir
```
While various of methods are provided to read a value in json.
Be carefun about the difference between `obj.to_string()`, `obj.string()` and `obj.into_json()`
# Templating
run to render a template
`akari render_string "-[ output aaa ]-" aaa=1`
output: `1`
Read more in starberry example to find out how to write Akari template
https://github.com/Field-of-Dreams-Studio/starberry-example/tree/main
# Update log
0.2.1: Update documentations for Akari
0.2.1-rc1: Enabling getting value from the Object through one function, no need for a match statement
0.2.0: Enable json file read and write
0.2.0-rc1: Update the macro, enable using complex expression and functions in the macro
0.1.3: Important Bug Fix: Now template will not causing rendering empty HTML
0.1.2: Changed object! macro, enable nesting objects
0.1.1: Enable [] operation and . operation
0.1.0: Initial Commit