Stream is a Dart web server supporting request routing, filtering, template engine, WebSocket, MVC design pattern and file-based static resources.
Add this to your pubspec.yaml (or create it):
dependencies:
stream:
See the examples, from serving static files to RSP templating, MVC and Ajax.
RSP is a template technology allowing developers to create dynamically generated web pages based on HTML, XML or other document types (such as this and this).
To compile RSP files, run the rspc executable from a Dart package that depends on Stream:
dart run stream:rspc -n dir1 dir2 file1 file2...
A Dart file is generated for each RSP file you provide (e.g., foo.rsp.html to foo.rsp.dart). For more options, run:
dart run stream:rspc -h
Alternatively, activate it globally and run rspc directly:
dart pub global activate stream
rspc -n dir1 dir2 file1 file2...
To compile from your own build script, call compileFile instead:
import 'package:stream/rspc.dart';
Future<void> main() async {
await compileFile("webapp/home.rsp.html", newer: true);
}
If you'd like to contribute back to the core, you can fork this repository and send us a pull request, when it is ready.
Please be aware that one of Stream's design goals is to keep the sphere of API as neat and consistency as possible. Strong enhancement always demands greater consensus.
If you are new to Git or GitHub, please read this guide first.
To recompile the RSP files under test/ and example/, run tool/rspc from the repository root (only newer files; tool/rspc -f compiles all).