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