How to make it go: $ git clone http://github.com/reverie/yourworldoftext.git yourworld $ export PYTHONPATH=`pwd` $ cd yourworld $ pip install -r requirements.txt $ python manage.py syncdb $ python.manage.py runserver The lay of the land: - Your World of Text is plain Django. Put in your database settings and you should be able to run it locally right away. - The contents of a world are represented by 8x16 character Tile objects. These are created lazily. - Most of the code (and all the non-trivial stuff) is client-side, in yourworld.js. It uses the JavaScript Module Pattern. - The client simply polls the server for updates. This may not be optimal, but it has held up fine. - Extra features like links and protected tiles were added "at great expense and at the last minute". The code may reflect this. - Input is received via a hidden input field that always has focus. This technique is more robust than detecting keystrokes, and may be useful in other web applications. Where to take it: If you want to get involved in Your World of Text, the TODO file lists a variety of incremental improvements that could be made. If, rather, you want to fork the project and go a new direction, here are some ideas: generalize the tile system; implement a client-side scripting language for a LOGO-like accessible programming environment; or make a collaborative brainstorming tool. Whatever it is, feel free email me if I can help in any way.
TheoryOfNekomata/yourworldoftext
Your World of Text is an infinite grid of text editable by any visitor.
JavaScriptBSD-3-Clause