Web and CLI interface to roll dice.
yarn devand point browser tolocalhost:3449for figwheel and watching the Rust backend. If you don't issue:cljs/quitat the REPL or you'll have to kill figwheel some other way.yarn prodand point browser tolocalhost:8080for the production build.yarn demofor a dev server with no hot-reloading - point your browser tolocalhost:8080.
For EMACS/CIDER, run yarn emacs and then from Emacs invoke M-x cider-jack-in-clojurescript. You'll need to invoke (start-figwheel!). Further instructions can be found here.
The backend component also has two other CLI modes:
- Invoke with
replas the first arg for a REPL which will evaluate commands in sequence separated by spaces and prompt for further input until a SIGINT. - Invoke with your command as space-separated arguments to run a single operation.
You can run the webserver directly via roll (cargo run) or roll serve (cargo run -- serve).
Command formats:
- A list of valid rolls in XdX format, separated by spaces -
1d2 2d4 3d8 - A list of string identifier to lookup in the item table -
blello,blello, ian - A multiplier followed by either a list of valid rolls or a string identifier -
3 1d7,3 1d8 2d9,3 blello,3 blello ian
The multiplier is a little buggy on the web side - it only rolls out the first trailing arg. Stay tuned.
Web server endpoints:
GET /roll/:cmdwhere:cmdis any of the above, but separated by slashes instead of spaces:/roll/1d6,/roll/2d8/3d9,/roll/3/10d20,/roll/9/blello/ianGET /itemsreturns all the items stored indb.sqlitePOST /itemwith anapplication/jsonrequest body like'{"name": "blaster","damage": "1d8"}'to insert that item into the DB
- Stable rust 1.25.0+
- Java JRE 1.8+
- yarn
- lein
- cargo-watch