Skip to main content
Deno 2 is finally here 🎉️
Learn more

Rimu Markup

Rimu is a readable-text to HTML markup language inspired by AsciiDoc and Markdown.

Scope

At its core Rimu is a simple readable-text markup similar in scope to Markdown, but with two additional areas of functionality (both built into the Rimu markup syntax):

  • Markup generation can be customized and extended.
  • Rimu includes a simple, flexible macro language.

Plus:

  • A large subset of Rimu syntax is Markdown compatible.
  • Rimu is fast (same speed as marked 0.3.2 compiling Rimu README.md).

Implementation

  • Single lightweight JavaScript file (less than 23KB minified) that can be dropped onto a Web page or used as a Node module.
  • No dependencies.
  • Simple one-function API.
  • Features include raw HTML (a la Markdown), HTML attribute injection and parametrized macros.
  • Element syntax and behavior can be modified and extended.
  • Written in TypeScript.
  • Available from Github and as an npm module.
  • Includes command-line compiler, JavaScript library, TypeScript library declaration file, playground GUI, Vim syntax highlighter and a unit test suite.
  • MIT license.

Learn More

Read the documentation and experiment with Rimu in the Rimu Playground or open the rimuplayground.html file locally in your browser.

See also the Release Notes topic in the Rimu Playground.

Installing Rimu

  • Install Rimu as a Node.js module (includes the rimuc command-line tool, run rimuc --help):

      sudo npm install -g rimu
  • Get the source from Github.

Example Apps

See the API documentation topic in the Rimu Playground.

  • Rimu includes the rimuc command-line tool (./bin/rimuc.js) and the Rimu Playground (./bin/rimuplayground.html) – examples of using Rimu in Node.js and in the browser respectively.
  • A Chrome browser extension for rendering Rimu Markup files directly in the browser.

Browser compatibility

The generated HTML is compatible with all browsers. The Rimu JavaScript library works with the latest versions of IE, Firefox and Chrome, seems OK on Android 4 and iOS. Does not run on IE8.