neutralts/lib.rs
1#![doc = include_str!("../README.md")]
2
3
4// Build-in function layout
5//
6// .-------------------------------------------------------------> open bif
7// | .-----------------------------------------------------------> modifier
8// | | .-------------------------------------------------------> bif name
9// | | | .---------------------------------------------------> bif name separator
10// | | | | .--------------------------------------------> bif params
11// | | | | | .------------------------------------> params / code separator
12// | | | | | | .----------------------> comment
13// | | | | | | | .------------------> bif code
14// | | | | | | | | .--> close bif
15// | | | | | | | | |
16// v v v v v v | v v
17// - - ----- - ------------ -- -----------v------------------ --
18// {:!snippet; snippet_name >> <div>... {:* ... *:} ...</div> :}
19// -------------------------------------------------------------
20// ^ -----------------------------------------------
21// | ^
22// | |
23// | ·------------------------------> bif src
24// ·-----------------------------------------------------> bif: Build-in function
25
26// Same level Bif:
27//
28// .-----> .-----> {:code;
29// | | {:code; ... :}
30// | | {:code; ... :}
31// | | {:code; ... :}
32// Level block --> | ·-----> :}
33// | -----> {:code; ... :}
34// | .-----> {:code;
35// | | {:code; ... :}
36// ·-----> ·-----> :}
37
38// Flow
39//
40// .-------------------------------.
41// │ new Template │
42// ·-------------------------------·
43// |
44// v
45// .-------------------------------.
46// │ new BlockParser │ <------.
47// |-------------------------------| |
48// │ each same level bif │ |
49// ·-------------------------------· |
50// | |
51// v |
52// .-------------------------------. |
53// │ new Bif │ |
54// |-------------------------------| |
55// │ nested bifs? ---------│--------·
56// ·-------------------------------·
57// |
58// v
59// .----------------------.
60// │ end render │
61// ·----------------------·
62
63
64pub use serde_json::{json, Value};
65
66#[macro_use]
67mod macros;
68
69pub mod constants;
70pub mod doc;
71pub mod utils;
72mod default_json;
73mod shared;
74mod template;
75mod block_parser;
76mod bif;
77
78pub use template::Template;
79pub use constants::*;
80pub use utils::*;
81pub use default_json::*;
82
83// for tests
84pub mod test_helpers;