Collab support on front page
This commit is contained in:
parent
33736d2622
commit
da4027f4bc
@ -13,6 +13,7 @@ Let’s have a look at some of its features.
|
||||
* Use [[🔌 Core/Slash Commands|slash commands]] to perform common text editing operations.
|
||||
* Supports annotating pages with metadata (using [[Frontmatter]]).
|
||||
* Provides a platform for [End-user Programming](https://www.inkandswitch.com/end-user-programming/) through its support of [[🔌 Directive|directives]] (such as [[🔌 Directive/Query|#query]]), which make parts of pages _dynamic_.
|
||||
* Experimental [[🔌 Collab|real-time collaboration support]].
|
||||
* Robust extension mechanism using [[🔌 Plugs]]
|
||||
* Self hosted: you own your data. All content is stored as plain files in a folder on disk. Back up, sync, edit, script with any other tools you like.
|
||||
* Silver Bullet is [open source, MIT licensed](https://github.com/silverbulletmd/silverbullet) software.
|
||||
|
@ -7,7 +7,16 @@ share-support: true
|
||||
The Collab plug implements real-time “Google Doc” style collaboration with other Silver Bullet users using the [Yjs](https://yjs.dev) library. It supports:
|
||||
|
||||
* Real-time editing
|
||||
* Showing other participant’s cursors
|
||||
* Showing other participant’s cursors and selections
|
||||
|
||||
The philosophy behind this plug is that by default your data is private and not shared with others. However, there are cases where you would like to collaborate on individual pages.
|
||||
|
||||
Some example use cases:
|
||||
|
||||
* Sharing a meeting agenda or meeting notes
|
||||
* Writing or editing an article with others
|
||||
|
||||
The collab plug allows you to share individual pages. All collaborators will keep their own local copy on disk (which they can backup, and you probably should), but the “source of truth” moves to a central collaboration server. There is one deployed at `wss://collab.silverbullet.md`, but you can also run your own, see [[@deploy|the instructions below]]. The collab plugin leverages SB’s [[🔌 Share]] infrastructure.
|
||||
|
||||
To use it:
|
||||
|
||||
@ -21,8 +30,11 @@ To use it:
|
||||
The Collab plug uses Yjs for real-time collaboration via a websocket. A random ID is assigned to every shared page, and a copy of this page (as well as its history) will be stored on the collaboration server. Therefore, be cautious about what you share, especially when using a public collab server like `collab.silverbullet.md`. For “production use” we recommend deploying your own collab server.
|
||||
|
||||
## Deploying your own collab server
|
||||
$deploy
|
||||
A detailed description of how to deploy your own collab server, [can be found here](https://github.com/yjs/y-websocket). The short version is:
|
||||
|
||||
HOST=0.0.0.0 PORT=1337 YPERSISTENCE=./store npx y-websocket
|
||||
```shell
|
||||
HOST=0.0.0.0 PORT=1337 YPERSISTENCE=./store npx y-websocket
|
||||
```
|
||||
|
||||
This will run the `y-websocket` server on port 1337, and store page data persistently in `./store`. You can connect to this server via `ws://ip:1337`. To use SSL, put a TLS server in front of it, in which case you can use `wss://` instead.
|
Loading…
Reference in New Issue
Block a user