.. | ||
bin | ||
example | ||
lib | ||
test | ||
analysis_options.yaml | ||
AUTHORS.md | ||
CHANGELOG.md | ||
LICENSE | ||
melos_jael3.iml | ||
mono_pkg.yaml | ||
pubspec.yaml | ||
README.md |
Jael 3
A simple server-side HTML templating engine for Dart.
Installation
In your pubspec.yaml
:
dependencies:
jael3: ^6.0.0
API
The core jael3
package exports classes for parsing Jael templates, an AST library, and a Renderer
class that generates HTML on-the-fly.
import 'package:belatuk_code_buffer/belatuk_code_buffer.dart';
import 'package:belatuk_symbol_table/belatuk_symbol_table.dart';
import 'package:jael3/jael3.dart' as jael;
void myFunction() {
const template = '''
<html>
<body>
<h1>Hello</h1>
<img src=profile['avatar']>
</body>
</html>
''';
var buf = CodeBuffer();
var document = jael.parseDocument(template, sourceUrl: 'test.jael', asDSX: false);
var scope = SymbolTable(values: {
'profile': {
'avatar': 'thosakwe.png',
}
});
const jael.Renderer().render(document, buf, scope);
print(buf);
}
Pre-processing (i.e. handling of blocks and includes) is handled by package:jael3_preprocessor.
.