racketscript-playground
racketscript-playground copied to clipboard
Online playground from RacketScript
Racketscript Playground
Playground for RacketScript. Both server-side and client-side code is written in RacketScript.
Playground uses Github Gist to save and load files. The name of Gist
file must be source.rkt.
- URL of format
/#gist/:idwill load gist of that provided id. - URL of format
/#example/:idwill download$ROOT_URL/examples/:id.rktfrom server. - A
POST /compilerequest will take JSON payload of format:{ "code": <racket-code> }and return a compiled JS file in reponse.
CoreMirror is used as editor component. Search and Replace shortcuts are here.
Build and Deploy
With Docker (for deployment)
Easiest way is to pull the latest image from Docker registry (racketscript/racketscript-playground).
# Pull docker image
docker pull racketscript/racketscript-playground
# Run playground webserver on port 8080
docker run -dp 8080:8080 -t racketscript/racketscript-playground
You can also build image yourself using make docker-build, followed by make docker-run to start the playground web server. By default, make docker-run
binds webserver to port 8080.
Without Docker (for development)
After installing Racket, NodeJS, and RacketScript, execute following commands to run the playground:
make -j4 run
For development, you can use quickrun, after runnning run once,
for building both server and client without npm install/update:
make -j4 quickrun
License
RacketScript is licensed under MIT license. Third-party libraries can be found over here and here.
Troubleshooting
- Running
dockercommands gives permission error
Add user name to docker user group: sudo usermod -aG docker $USER