serinus_liquify 1.0.1 copy "serinus_liquify: ^1.0.1" to clipboard
serinus_liquify: ^1.0.1 copied to clipboard

Integration of the Liquify template engine with Serinus.

example/example.dart

import 'package:liquify/parser.dart';
import 'package:serinus_liquify/serinus_liquify.dart';
import 'package:serinus/serinus.dart';
import './box.dart';

class AppController extends Controller {
  AppController() : super(path: '/') {
    on(Route.get('/viewString'), (RequestContext context) {
      return ViewString(
          'Hello, {{ name | upcase }}! Your items are: {% for item in items %}{{ item }}{% unless forloop.last %}, {% endunless %}{% endfor %}.',
          {
            'name': 'Alice',
            'items': ['apple', 'banana', 'cherry']
          });
    });
    on(Route.get('/view'), (RequestContext context) {
      return View('view', {});
    });
    on(Route.get('/custom-tags'), (RequestContext context) {
      return View('custom-tags', {
        'name': 'Alice',
        'age': 30,
        'items': [1, 2, 3, 4, 5],
      });
    });
  }
}

class AppModule extends Module {
  AppModule() : super(controllers: [AppController()]);
}

Future<void> main(List<String> arguments) async {
  TagRegistry.register('box', (content, filters) => BoxTag(content, filters));
  FilterRegistry.register('sum', (value, args, namedArgs) {
    if (value is! List) {
      return value;
    }
    return (value as List<int>).reduce((int a, int b) => a + b);
  });
  final application = await serinus.createApplication(entrypoint: AppModule());

  application.viewEngine = LiquifyEngine(
      root:
          FileSystemRoot('templates', notFoundCallback: () => '404 Not Found'));

  application.serve();
}
copied to clipboard
2
likes
160
points
119
downloads

Publisher

verified publisherserinus.app

Weekly Downloads

2024.09.23 - 2025.04.07

Integration of the Liquify template engine with Serinus.

Homepage
Repository (GitHub)

Topics

#serinus #liquify #template #engine #integration

Documentation

API reference

License

MIT (license)

Dependencies

liquify, serinus

More

Packages that depend on serinus_liquify