A port of the Rimu Markup language written in the Dart language.

Features

Functionally identical to the TypeScript implementation version 11.4.x.

Using the Rimu package

The Rimu Dart package is hosted at pub.dev. Example usage:

import 'package:rimu/rimu.dart';

main(List<String> arguments) {
  print(render('Hello *Rimu*!'));
}

See also Rimu API documentation.

CLI command

The Dart port of the Rimu CLI command can be run as a script, for example:

dart ./bin/rimuc.dart --version

Or compiled to a native executable, for example:

dart compile exe ./bin/rimuc.dart -o ~/local/bin/rimudart

Building

  1. Clone source repo from Github:

     git clone git@github.com:srackham/rimu-dart.git
    
  2. Build and test:

     cd rimu-dart/
     dart pub get
     make
    

Learn more

Read the documentation and experiment with Rimu in the Rimu Playground.

Implementation

  • The largely one-to-one correspondence between the canonical TypeScript code and the Dart code eased porting and debugging. This will also make it easier to cross-port new features and bug-fixes.

  • All Rimu implementations share the same JSON driven test suites comprising over 300 compatibility checks.

Libraries

rimu