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
regexp
package 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.go
and 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.