jinja function
AngelConfigurer
jinja({
- Set<
String> ext = const {'html'}, - String path = 'lib/src/templates',
- bool followLinks = true,
- String blockStart = '{%',
- String blockEnd = '%}',
- String varOpen = '{{',
- String varClose = '}}',
- String commentStart = '{#',
- String commentEnd = '#}',
- dynamic defaultValue,
- Map<
String, Function> filters = const <String, Function>{}, - Map<
String, Function> tests = const <String, Function>{}, - Loader createLoader()?,
Configures an Angel server to use Jinja2 to render templates.
By default, templates are loaded from the filesystem;
pass your own createLoader
callback to override this.
All options other than createLoader
are passed to either FileSystemLoader
or Environment
.
Implementation
AngelConfigurer jinja({
Set<String> ext = const {'html'},
String path = 'lib/src/templates',
bool followLinks = true,
String blockStart = '{%',
String blockEnd = '%}',
String varOpen = '{{',
String varClose = '}}',
String commentStart = '{#',
String commentEnd = '#}',
defaultValue,
//bool autoReload = true,
Map<String, Function> filters = const <String, Function>{},
Map<String, Function> tests = const <String, Function>{},
Loader Function()? createLoader,
}) {
return (app) {
createLoader ??= () {
return FileSystemLoader(
extensions: ext,
paths: [path],
followLinks: followLinks,
);
};
var env = Environment(
loader: createLoader!(),
blockStart: blockStart,
blockEnd: blockEnd,
variableStart: varOpen,
variableEnd: varClose,
commentStart: commentStart,
commentEnd: commentEnd,
//defaultValue: defaultValue,
//autoReload: autoReload,
filters: filters,
tests: tests,
);
app.viewGenerator = (path, [values]) {
return env.getTemplate(path).render(values);
};
};
}