Praxly is a web-based IDE that empowers users to read, write, and run the pseudocode used in the CS Praxis Test. Praxly supports bidirectional synchronization between both block-based and text-based editors, allowing users to learn and visualize the code while also offering the efficiency of editing text. The text editor uses Ace, and the block editor uses Blockly.
Screenshot of Praxly running a recursive factorial functionInstall dependencies:
$ npm install
To run locally:
$ npm run dev
Install dependencies:
$ pip install colorama selenium
To run locally:
$ cd test
$ ./run_all.sh
Note: This script connects to the local dev server.
Note: This process is automated via GitHub actions.
To build (manually) for production:
PRAXLY_PATH=/relative/path/on/server npm run build
You can embed Praxly on any website using an iframe:
<iframe width="100%" height="600"
src="https://praxly.cs.jmu.edu/embed.html?button=both#code=print%201%0Aprint%202%0Aprint%203">
</iframe>
The embed.html
page takes the following parameters:
Parameter | Options | Description |
---|---|---|
&editor= | text*, blocks, both | Which editor(s) to show |
&button= | run*, debug, both | Which button(s) to show |
&result= | output*, vars, both | Which result(s) to show |
#code= | url-encoded format | The initial source code |
* = default values for embedded mode