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

Features

Functionally identical to the JavaScript implementation version 11.1 with the following exceptions:

  • Does not support deprecated Expression macro values.
  • Does not support deprecated Imported Layouts.

Usage

Example usage:

import 'package:rimu/rimu.dart';

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

See also Rimu API documentation.

CLI command

The Rimu CLI command is rimuc.dart.

Run it using the Dart pub command e.g.

pub global activate rimu
echo 'Hello *Rimu*!' | pub global run rimu:rimuc

Building

  1. Clone source repo from Github:

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

     cd rimu-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