Tholp's bespoke website generator
at main 2.5 kB view raw
1pub mod for_each; 2pub mod insert; 3pub mod simple_blocks; 4pub mod simple_macros; 5pub mod template; 6 7use super::types::Macro; 8use for_each::*; 9use insert::macro_insert; 10use simple_blocks::*; 11use simple_macros::*; 12use template::macro_template; 13 14pub static MACRO_LIST: &'static [Macro] = &[ 15 // Unscoped 16 Macro { 17 symbol: "insert", // Inserts another file 18 expansion: macro_insert, 19 takes_block: false, 20 min_args: 1, 21 max_args: usize::max_value(), 22 }, 23 Macro { 24 symbol: "time", 25 expansion: macro_time, 26 takes_block: false, 27 min_args: 0, 28 max_args: 1, 29 }, 30 Macro { 31 symbol: "filename", 32 expansion: macro_filename, 33 takes_block: false, 34 min_args: 0, 35 max_args: 0, 36 }, 37 Macro { 38 symbol: "filename_canonical", 39 expansion: macro_filename_canonical, 40 takes_block: false, 41 min_args: 0, 42 max_args: 0, 43 }, 44 Macro { 45 symbol: "reminder", 46 expansion: macro_reminder, 47 takes_block: false, 48 min_args: 1, 49 max_args: 1, 50 }, 51 Macro { 52 symbol: "output_filename", 53 expansion: macro_output_filename, 54 takes_block: false, 55 min_args: 0, 56 max_args: 1, 57 }, 58 // Scoped 59 Macro { 60 symbol: "comment", // Nothing 61 expansion: macro_comment, 62 takes_block: true, 63 min_args: 0, 64 max_args: 0, 65 }, 66 Macro { 67 symbol: "repeat", // Outputs what its give x number of times 68 expansion: macro_repeat, 69 takes_block: true, 70 min_args: 1, 71 max_args: 1, 72 }, 73 Macro { 74 symbol: "section", 75 expansion: macro_section, 76 takes_block: true, 77 min_args: 0, 78 max_args: 1, 79 }, 80 Macro { 81 symbol: "template", 82 expansion: macro_template, 83 takes_block: true, 84 min_args: 1, 85 max_args: usize::max_value(), 86 }, 87 Macro { 88 symbol: "for_each_arg", 89 expansion: macro_for_each_arg, 90 takes_block: true, 91 min_args: 1, 92 max_args: usize::max_value(), 93 }, 94 Macro { 95 symbol: "for_each_file_in_group", 96 expansion: macro_for_each_file_in_group, 97 takes_block: true, 98 min_args: 2, 99 max_args: 2, 100 }, 101 Macro { 102 symbol: "for_each_file_in_group_reverse", 103 expansion: macro_for_each_file_in_group_reverse, 104 takes_block: true, 105 min_args: 2, 106 max_args: 2, 107 }, 108];