angel_jael 2.0.0 copy "angel_jael: ^2.0.0" to clipboard
angel_jael: ^2.0.0 copied to clipboard

Angel support for the Jael templating engine, similar to Blade or Liquid.

example/main.dart

import 'dart:convert';
import 'package:angel_framework/angel_framework.dart';
import 'package:angel_framework/http.dart';
import 'package:angel_jael/angel_jael.dart';
import 'package:file/local.dart';
import 'package:logging/logging.dart';

main() async {
  var app = new Angel();
  var http = new AngelHttp(app);
  var fileSystem = const LocalFileSystem();

  await app.configure(
    jael(fileSystem.directory('views')),
  );

  app.get(
      '/',
      (req, res) =>
          res.render('index', {'title': 'Sample App', 'message': null}));

  app.post('/', (RequestContext req, res) async {
    var body = await req.parseBody();
    print('Body: $body');
    var msg = body['message'] ?? '<unknown>';
    return await res.render('index', {
      'title': 'Form Submission',
      'message': msg,
      'json_message': json.encode(msg),
    });
  });

  app.fallback((req, res) => throw new AngelHttpException.notFound());

  app.logger = new Logger('angel')
    ..onRecord.listen((rec) {
      print(rec);
      if (rec.error != null) print(rec.error);
      if (rec.stackTrace != null) print(rec.stackTrace);
    });

  var server = await http.startServer('127.0.0.1', 3000);
  print('Listening at http://${server.address.address}:${server.port}');
}
0
likes
40
pub points
0%
popularity

Publisher

unverified uploader

Angel support for the Jael templating engine, similar to Blade or Liquid.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

angel_framework, code_buffer, file, jael, jael_preprocessor, symbol_table

More

Packages that depend on angel_jael