Skip to content

marcelklehr/warp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warp

A faster-than-light collaborative editor

Take a look at the demo

Feautures

  • DOM-OT allows you to collaborate on everything that's expressable in HTML
  • insert Youtube videos
  • work on tables
  • edit SVG

Install

$ git clone https://github.com/marcelklehr/warp.git
$ npm install
$ browserify index.js > build/build.js

Run

$ node server

Open localhost:8080 in your browser.

How does it work?

Warp detects changes to the document via the MutationObserver API (specifically using MutationSummary) and syncs changes between client and server using gulf over shoe. To transform the changes it uses dom-ot, an operational transformation library for DOM patches. On the server jsdom emulates a DOM tree to apply the patches on. And a ckeditor instance allows you to apply styles like bold or italics and add tables to your document. This should work with any HTML editor, though, e.g. an SVG editor!

Status

This is still an early proof of concept, but I intend to bring it to the next level, if the result is functional.

Legal

(c) 2015 by Marcel Klehr

MIT License

Releases

No releases published

Packages

No packages published