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;