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