-
Notifications
You must be signed in to change notification settings - Fork 70
Closed
Milestone
Description
Must-have Features
- Add
Commitoperations for text insertions (real-time collaborative sync)- Implement in JS
- Implement in Rust (server)
- Make it compatible with codemirror
- Render Atomic Resources as inline components. Use
[[syntax like Obsidian. - Allow markdown-like syntax to do formatting (e.g.
## Heading 2) and preview the style
Cool ideas
- Linkifier
- Mentions
- Custom components
- Slash commands? Not present in Obsidian
Approaches
Codemirror + Markdown
- Use codemirror, because:
- It's reliable, popular, battle-tested
- Is plaintext
- Allows for collaboration
- Use markdown because
- It's simple to read and understand
- It is highly interoperable
TipTap
- Has nice notion-style editor
- No native markdown support, but import / export possible using plugin
- Built on Prosemirror
- Can sync, but unclear how / if this can be made to comply with Commits
Milkdown
- Markdown first
BlockNote
- Powered by prosemirror and TipTap, so more batteries-included than TipTap / Prosemirror.
- Great notion-like UX with slash menu, d&d, live collab
- Can render to markdown (or HTML of course) but markdown is considered lossy.
- Works with Yjs, allows CRDT Consider using yjs / y-crdt for document-related commits #720
- Built in React, which makes things easy for us!
- Even has cool comments
MMesch
Metadata
Metadata
Assignees
Labels
No labels