CodeMirror VS slate

Compare CodeMirror vs slate and see what are their differences.

CodeMirror

In-browser code editor (version 5, legacy) (by codemirror)

slate

A completely customizable framework for building rich text editors. (Currently in beta.) (by ianstormtaylor)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • talent.io - Download talent.io’s Tech Salary Report
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
CodeMirror slate
38 20
25,361 25,476
0.2% -
8.9 9.2
11 days ago 8 days ago
JavaScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

CodeMirror

Posts with mentions or reviews of CodeMirror. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-05.
  • massCode v3 - An open source snippets manager is out 🚀
    5 projects | dev.to | 5 Sep 2022
    massCode uses Codemirror as the basis for the editor and .tmLanguage as the grammar for syntax highlighting. This tandem opens the door to over 600 existing grammars. The application currently supports more than 160 grammars. In addition to .tmLanguage, the application supports .tmTheme for themes. There is also…
  • pyTermTk sandbox with Pyodide + xterm.js + CodeMirror5 + other stuff
    6 projects | reddit.com/r/Python | 25 Aug 2022
    After giving up countless times since I started this project, I finally managed to dig the dark secrets of Pyodide and run pyTermTk on a browser, all of this, of course, thanks to the magic of xterm.js. I know, my friend, I know what you are thinking, I was disgusted at first picturing that hideous javascript defiling the python purity of my code, but, when I saw my red pepper shining on webkit engine, well, I couldn't hold back a tear. And after that, who am I to not include also an editor and my collection of demos and examples? So, here it is, a super minimal buggy and feature incomplete pyTermTk Sandbox
  • [Media] This is my first Rust project, a little pastebin web app called MicroBin. 🦀 It's blazingly fast 🚀🔥 and crazy safe of course
    3 projects | reddit.com/r/rust | 8 May 2022
    syntax highlighting is simple with https://codemirror.net/
  • How to add SQL editor to your django admin.
    2 projects | dev.to | 1 May 2022
    Official website of Codemirror.
  • Do you trust the Obsidian company?
    8 projects | reddit.com/r/ObsidianMD | 21 Apr 2022
    CodeMirror [MIT] https://codemirror.net/
  • Tilepieces
    3 projects | reddit.com/r/u_tilepieces | 8 Apr 2022
    The project is built with itself, and uses some of the popular frontend libraries like codemirror and terser.To build a tilepieces application, read the instructions.
  • introducing tilepieces: An open source project to visually editing HTML documents and Web applications
    4 projects | dev.to | 6 Apr 2022
    Tilepieces is a software that allows you to create applications for editing HTML documents, using some of the popular interfaces of the browser developer tools (with which it is possible to integrate css edits). Tilepieces also allows you to reuse your favorite code and libraries, and exposes APIs that are useful for editing multiple files at a time. You can start using tilepieces with its progressive web application version! Why Tilepieces? Tilepieces has everything you need to manage and design the layout of all your web projects, be they newsletters, banners, websites or web applications. Any library and framework can be reused using its component data structure, similar to NPM's package.json. These data structures can be populated by the application itself. Its API and the possibility of customization make it perfect as the basis of a CMS How Tilepieces works The project is built with itself, and uses some of the popular frontend libraries like codemirror and terser. To build a tilepieces application, read the instructions. How to use Tilepieces You can start use tilepieces immediately with its progressive web application version. If you like Node.js, there is an npm package for you that will launch the application in your favourite browser.
  • [AskJS] Front-end codebases made using vanilla JavaScript for studying
    7 projects | reddit.com/r/javascript | 28 Mar 2022
    I think that Codemirror 5 is a nice example, version 6 is somewhat hard to follow, there are way too many modules and it's hard to understand.
  • What is the point of this php.js file ?
    2 projects | reddit.com/r/learnprogramming | 16 Mar 2022
  • Your first taste of emacs
    13 projects | dev.to | 8 Feb 2022
    Let's try an example M-! git clone https://github.com/codemirror/CodeMirror.git ~/code-mirror(Notice when you type M-! the mini buffer pops up with a shell command prompt? This is great for running quick commands). CodeMirror isn't tiny, this might take a few seconds...

slate

Posts with mentions or reviews of slate. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-20.
  • Lexical – a web text editor framework that powers Facebook
    8 projects | news.ycombinator.com | 20 Jun 2022
    We're trying to choose between Lexical and Slate at work. Do you have any examples that would be similar to this? https://github.com/ianstormtaylor/slate/blob/main/site/examp...
  • A good rich text editor for reactjs?
    4 projects | reddit.com/r/reactjs | 23 May 2022
    If you are going to customise a ton of functionalities and/or implement new functionality I suggest using SlateJS. If not, have a look at Sun editor.
  • Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in Browser
    12 projects | news.ycombinator.com | 14 Mar 2022
    You definitely need to give Slate (https://github.com/ianstormtaylor/slate) a try - the best editor framework I've used.
  • Best WYSIWYG editor for Vue that supports structured content?
    7 projects | reddit.com/r/vuejs | 7 Mar 2022
    Slate: Looks very promising, but it's for React. (Someone has floated the idea of making it framework-agnostic, but the maintainers haven't committed to that goal yet.)
  • Switching Rich Text Editors, Part 1: Picking Tiptap
    13 projects | news.ycombinator.com | 11 Feb 2022
    Thanks for submission! Very timely. Been searching for a stable and flexible editor (or rather a tool to build such an editor) and Tiptap looks like a good candidate.

    I was also considering Slate, but have found this rather annoying bug https://github.com/ianstormtaylor/slate/issues/4833, which is surprising as it doesn't look like some rare edge case, and breaks something that seems to be like basic functionality for an editor. Had to re-consider.

  • React Libraries
    28 projects | dev.to | 7 Dec 2021
    Slate - A completely customizable framework for building rich text editors.
  • What is Slate.js, and will it replace Quill and Draft.js?
    2 projects | dev.to | 23 Nov 2021
    Slate.js is a highly customizable platform for creating rich-text editors, also known as WYSIWYG editors. It enables you to create powerful, intuitive editors similar to those you’ve probably used in Medium, Dropbox Paper, or Google Docs. These are quickly becoming standard features for many web apps, and tools like Slate make them easier to implement, ensuring your program won’t get bogged down in complexity.
  • 10+ React Rich Text Editors
    11 projects | dev.to | 7 Nov 2021
    Building complex, nested documents was impossible. Many editors were designed around simplistic "flat" documents, making things like tables, embeds and captions difficult to reason about and sometimes impossible. Demo GitHub
  • Anyone ever tried creating a text input similar to discord's in react?
    2 projects | reddit.com/r/reactjs | 8 Oct 2021
    Ok good to know. Although, the Mention Example seem pretty complicated for what feels like such a simple task but still good to know about this in case I ever need it in the future
  • Slate – A completely customizable framework for building rich text editors
    11 projects | news.ycombinator.com | 29 Jul 2021
    I've been using Slate heavily this year. I'm not a Slate developer, but I've read a lot of the source code, follow all the Github issues, etc., and I'm "owning an aging fork". As far as I can tell, the API instability mentioned elsehwere in this thread resulted from a nearly complete rewrite (inspired by immerjs) that launched in May 2020; for over a year since then, the API has been very stable, mainly because Ian Taylor, who wrote most of Slate, seems to have moved on to other projects (see https://github.com/ianstormtaylor/slate/graphs/contributors)... there's still a lot of work on Slate, but it's mainly by other people who are trying to preserve the vision that Ian laid out. I ended up forking only the React part of Slate, which is officially a plugin, and massively rewriting it to support virtualized windowing, so we can work with very large possibly complicated to render documents. I also added fairly generic realtime collaboration support. This is currently used in https://cocalc.com for WYSIWYG editing of Markdown documents. I also have plans to extend my use of Slate with windowing to Jupyter notebooks and other document types.

    I chose Slate over Prosemirror because the source code of Slate is Typescript written in a clear modern style, and I was able to start reading any part of it and understand it easily, whereas I find Prosemirror's core source code more difficult (this may just be a reflection of my shortcomings). I spent a lot of time initially just reading Slate PR's claiming to fix bugs, then integrating the PR's into my fork, often in a way that makes sense for my project, but likely wouldn't in general (I left helpful remarks on Github).

    Slate is an interesting project, and it is comparable to Prosemirror. However, development is structured very differently at present, and I think there's little funding behind Slate, whereas the author of Prosemirror seems to have done a good job encouraging sustainable donations. I think Ian Taylor, who mainly wrote Slate, also cofounded a company called Segment.io, which is a serious startup that was recently sold to Twilio, so I don't know what his motivations are...

What are some alternatives?

When comparing CodeMirror and slate you can also consider the following projects:

ace - Ace (Ajax.org Cloud9 Editor)

Monaco Editor - A browser based code editor

Draft.js - A React framework for building text editors.

ProseMirror - The ProseMirror WYSIWYM editor

quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility.

tiptap - The headless editor framework for web artisans.

TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular

Editor.js - A block-styled editor with clean JSON output