r-edit

Collaborative Editing the EASY way.

r-edit

Collaborative Editing the EASY way.

This module uses Commutative Replicated Data Structures, NO Operational Transforms.

see A commutative replicated data type for cooperative editing

and Logoot: a Scalable Optimistic Replication Algorithm for Collaborative P2P Networks

see r-edit/example

//client.js 
var REdit = require('r-edit')
 
var r = REdit().wrap(textarea)
// or r.widget() <-- returns a new textarea (80x24) 
 
var stream = shoe('/redit')
 
stream.pipe(r.createStream()).pipe(stream)
 
//server.js
var REdit = require('r-edit')
 
var r = REdit().wrap(textarea)
 
var stream = shoe('/redit')
 
shoe(function (stream) {
  stream.pipe(r.createStream()).pipe(stream)
}).install(httpServer)

Create a widget that displays text as a subset of markdown.

var widget = require('r-edit/widget')
var e = new REdit()
 
document.body.appendChild(widget(e))

So far, only a few features are supported, headers, italics, bold, code, and bullet-points. but not syntax that must go over multiple lines, such as quotes, large code sections, or nested lists.

MIT