Package: jappy
Jappy.activityJappy is a Python collaborative programming environment for the Web. It’s also possible to write and preview HTML and Markdown text.It currently implements the [RapydScript-NG transpiler](https://github.com/kovidgoyal/rapydscript-ng)’sPython-like language.Jappy is the app powering thehttp://educa.juegos/collaborative coding platform.## UsageWrite Python in Jappy and press the green button“Run”to run your code.What actually happens is:The content of every file is stored (to localStorage or the backend)The code is transpiled from Python3-like syntax to JavascriptA presettemplate.htmlfile is loaded to the right hand side frameThe Python-compiled-to-Javascript is appended to the frameThe resulting HTML with Javascript is stored to the backend as.index.htmlThe Javascript then runsBackend peers are notified to load.index.htmlinto their frame### Experimental persistence and collaboration backendUsers may create persistent projects by adding a hashtag to the URL.For the case ofeduca.juegosan url could look like [https://educa.juegos/#sandbox](https://educa.juegos/#sandbox). When the backend collaboration server is available, aproject foldertoolbar menu provides access to files stored in the server. Text should become synchronized accross users. When one user compiles and runs, everybody else will see the result instantly.Project files will be accesible via WebDAV (link provided at the end of the Folder toolbar menu).### Altering the default templateIt is possible to open the filetemplate.htmlwhich you can open from the examples toolbar menu. If a file calledtemplate.htmlis open, it will be used over the default. Here you can alter the resulting HTML however you prefer, including adding custom CSS or Javascript libraries.### Support for HTML and MarkdownIf you attempt to “run” an HTML file, it will be rendered to the right hand side frame. Markdown text files (ending with.md) will be rendered with a custom style.### LaunchIn order to launch the app, simply openJappy.activity/index.htmlin a browser, served by http.The collaboration server is implemented in Flask.` python2 server.py `And then openhttp://localhost:54991/#Sandbox(change the hash reference to your project name).You may need to install requirements withpip install -r requirements.txtfirst.Collaboration feature are available when using a #hash in your URL. Each #hash represents a “room” and a “project”. Each project has a directory underworkspace/.### StandaloneYou may also try our experimental standalone app:` python webview.py `This version is run with a WebKitGTK browser and only been tested on GNU/Linux.## Referenceshttps://wiki.sugarlabs.org/go/Project/Develop_ActivityArtisan WorkbenchThe philosophy of Jappy is to facilitate tools and lower barriers to achieve understanding of web technologies.Where possible it aims for simplicity and clean design.Shall work with Sugar and Sugarizer, deploy everywhere.Web Apps for Sugarizer and any PlatformPythonGameToolCollaboration, Simplicity, Reflection“Never loose work”IssuesMight consider method to avoidinfinite loops. Currently theycrash the tab or browser or PC.PlansTo support some kind of manifest file editingTo properly save a sessionTo import remote files (not only from open tabs)