zot / Leisure

Polyglot, document-based computing environment. Leisure is very much in flux, right now; please check the readme, below. For a taste of the new version, click the link below, but be warned that it only works in Chrome.
http://zot.github.io/Leisure/?load=elisp/README.org
Other
114 stars 8 forks source link

Leisure is evolving!

Please see [[https://github.com/orgs/Leisure-tools][Leisure Tools]] for information as it develops...

[[file:demo/screen.png]]

Leisure is an open-source web-based platform for interactive editable documents in orgmode format that provides what we call [[https://en.wikipedia.org/wiki/Illuminated_manuscript][Illuminated Programming]]. Leisure documents are:

Some of these ideas have been around for quite a while, [[http://www.vpri.org/pdf/tr2009002_active_essays.pdf][Active Essays]] [[http://hypercard.org/][Hypercard]], [[http://www.wolfram.com/mathematica/][Mathematica]], and [[http://tiddlywiki.com/][Tiddly Wiki]] implement interactive documents that contain code and data, as do [[http://orgmode.org/][Emacs' orgmode]] (of course) and [[https://jupyter.org/][Jupyter/iPython Notebook]]. Leisure is trying to add a few ideas to this field, like social coding, collaborative editing, and application collaboration.

Leisure is just a program in HTML/JS/CSS and it has a pretty simple architecture. It only needs a static HTML server for basic document operation. For collaboration, there is a small JavaScript server that can run in node.js. It's easy to manage because it has so few requirements, which means less worry about language or library version conflicts. Documents are in orgmode format, which is a great foundation that already comes with a lot of the representational tools Leisure needs.

Leisure can also connect directly to an orgmode buffer running in Emacs or Atom. Once connected, Emacs/Atom and Leisure will mirror changes between each other.

TEAM CTHULHU has been working (somewhat) quietly on Leisure since 2011. This is a new version, we've been overhauling a lot of it, and we're finally ready to talk more publicly about it.

Please note, there are still bugs in the mirroring, but we may not know about all of them, so if you're motivated to report them in GitHub, that would be nice :).

Once you have loaded the code in Emacs, you can open elisp/README.org for more instructions. * If you want to run the repl or change the Leisure language Make sure you run npm install in the build and leisure/build* directories