Building an awesome editor for your React-based web application is by no means easy. But with  SlateJS things get much easier. Even with the help of Slate, building a full-featured editor is way more work than we can cover in one blog post, so this post will give you the big picture and subsequent posts will dive into the dirty details.

Note: this post is based on a recent talk at the JavaScript NYC meetup. You can watch the video here:


We’re building  Kitemaker, a new, fast, and highly collaborative alternative to issue trackers like Jira, Trello, and Clubhouse. We’re big believers in remote work, and in particular working asynchronously so that team members get large, uninterrupted blocks of time to get work done. A key to supporting this type of work is having a really great editor so that teams are inspired to collaborate together on issues and ensure alignment. And we think we’ve got the best editor around:

Markdown shortcuts, code blocks with syntax highlighting, images, embedding designs from  Figma, math expressions with LaTex, diagrams with  MermaidJS, and, of course, emojis ♥️. All done entirely with Slate.

So why did we choose to go with Slate in the first place? It’s definitely not the only editor framework out there. For us, the things that pushed us towards Slate were:

  • It’s un-opinionated about how your document is structured, and that gave us the flexibility we needed
  • It doesn’t force any built-in toolbars or any other visuals upon you
  • It’s built with React in mind and that makes a huge difference when rendering complex documents
  • It lays the foundation for collaborative editing which is something we believe is important for Kitemaker
  • We really like  the philosophy behind it
  • It has a thriving community, particularly on  Slack

#react #slatejs #javascript

How to Build a Rich Text Editor in React with SlateJS
30.50 GEEK