1#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use minijinja::Environment;
16
17#[cfg(feature = "pycompat")]
19pub mod pycompat;
20
21pub mod filters;
23
24pub mod globals;
26
27#[cfg(feature = "html_entities")]
28mod html_entities;
29
30#[cfg(feature = "rand")]
31mod rand;
32
33pub fn add_to_environment(env: &mut Environment) {
41 env.add_filter("pluralize", filters::pluralize);
42 env.add_filter("filesizeformat", filters::filesizeformat);
43 env.add_filter("truncate", filters::truncate);
44 env.add_filter("striptags", filters::striptags);
45 #[cfg(feature = "wordcount")]
46 {
47 env.add_filter("wordcount", filters::wordcount);
48 }
49 #[cfg(feature = "wordwrap")]
50 {
51 env.add_filter("wordwrap", filters::wordwrap);
52 }
53 #[cfg(feature = "datetime")]
54 {
55 env.add_filter("datetimeformat", filters::datetimeformat);
56 env.add_filter("timeformat", filters::timeformat);
57 env.add_filter("dateformat", filters::dateformat);
58 env.add_function("now", globals::now);
59 }
60 #[cfg(feature = "rand")]
61 {
62 env.add_filter("random", filters::random);
63 env.add_function("lipsum", globals::lipsum);
64 env.add_function("randrange", globals::randrange);
65 }
66 env.add_function("cycler", globals::cycler);
67 env.add_function("joiner", globals::joiner);
68}