Guppy is a Javascript-based WYSIWYG editor for mathematics whose content is stored in an XML format that makes Guppy mathematical expressions searchable, parseable, and renderable.
The content of the editor can easily be extracted in a well-annotated XML format (for searching), as well as LaTeX (for rendering), plain text (for text applications) or a syntax tree (for manipulating/evaluating).
A full live demo can be found at http://daniel3735928559.github.io/guppy/site
A standalone basic demo can be found at http://daniel3735928559.github.io/guppy/site/examples/basic
Go to the quickstart page.
Also check the FAQ.
Yes! There are many at the examples page.
Of particular note are:
- Calc Numerically evaluate a guppy document.
- Input/Output Import and extract editor content.
- Mobile Activate mobile keyboard functionality.
- Style Style the editor with CSS.
- Article Use guppy to render pre-existing mathematical content on a page.
Editor content is stored in a specific XML format. Editing operations then correspond to operations on that XML.
Yes! See the contributors page for how, and the roadmap for an idea of where the project is heading.
After making the changes in the Oppia's guppy fork, follow the below steps:
- To get started, make sure you are in the guppy directory, then run the following:
$ cd guppy
$ npm install --only=dev
- To build, do
$ npm run-script build-debug
- To run the tests and code coverage tools, do
$ npm test
After adding build changes on the local guppy directory, follow the below steps to ensure the changes made are correct.
- Go to
oppia/package.json
file on local system. - Find the line with
guppy-dev
, and change the path to your local guppy fork (Example). - Now, restart the server and manually test the guppy supported interaction thoroughly to ensure that the changes you made are not breaking any part of the code.
- After that you are all set to make a PR!
Guppy is licensed under the MIT License.