Welcome to Vian. Vian is a text editor written entirely in Javascript. To try it out, click on the editor pane with the cursor in it to give it keyboard focus.
By default it acts like vi, but under the hood it looks a lot like Emacs. You can add major and minor modes easily by adding additional Javascript files, just like you would with emacs lisp.
Vian also has a back end hosted on Google AppEngine that allows it to load and save Google Docs.
Design Details
- Model/View/Controller - Vian uses the MVC architecture to separate form from function and make the entire editor more modular. It also allows nice features like multiple split views of a single buffer.
- Event-based - Vian uses Javascript's event model to propagate events to listeners. Multiple views can listen for a single buffer's change event, for example.
- DOM manipulation - Everything Vian draws on screen is through manipulation of the Document Object Model. There is no HTML5 canvas or use of contentEditable. This has both good and bad implications.