go-rimu is a port of the Rimu Markup language written in the Go language.
Functionally identical to the JavaScript implementation version 11.4 with the following exceptions:
- Because the Go
regexppackage uses RE2 regular expressions there are some limitations on the regular expressions used in Replacements definitions and Inclusion/Exclusion macro invocations.
Download, build, test and install (requires Go 1.17 or better):
git clone https://github.com/srackham/go-rimu.git
cd go-rimu
make
Example usage:
package main
import (
"fmt"
"github.com/srackham/go-rimu/v11/rimu"
)
func main() {
// Prints "<p><em>Hello Rimu</em>!</p>"
fmt.Println(rimu.Render("*Hello Rimu*!", rimu.RenderOptions{}))
}To compile and run this simple application:
-
Copy the code above to a file named
hello-rimu.goand put it in an empty directory. -
Change to the directory and run the following Go commands:
go mod init example.com/hello-rimu go mod tidy go run hello-rimu.go
See also Rimu API documentation.
The Rimu CLI command is named
rimugo.
Read the documentation and experiment with Rimu in the Rimu Playground.
See the Rimu Change Log for the latest changes.
-
The largely one-to-one correspondence between the canonical TypeScript code and the Go 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.