Monaco Editor
rich-markdown-editor
DISCONTINUED
Our great sponsors
Monaco Editor | rich-markdown-editor | |
---|---|---|
113 | 11 | |
37,955 | 2,570 | |
1.9% | - | |
8.4 | 9.2 | |
1 day ago | about 2 years ago | |
JavaScript | TypeScript | |
MIT License | BSD 3-clause "New" or "Revised" License |
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.
Monaco Editor
-
A structured note-taking app for personal use
Fyi, if you are ever looking for a fun project you might be able to implement this. The vscode editor source is available as a library https://microsoft.github.io/monaco-editor/
-
GIGO and VS-code: the Battle With Microsoft
VScode uses the monaco-editor to display all editor screens in vscode including the markdown editor. A simple solution is to use the in built markdown file editor and call it a day.
-
Show HN: Open-source alternatives to tools You pay for
visual studio is open source: https://github.com/microsoft/vscode
i remember using their monaco editor as well (https://github.com/microsoft/monaco-editor), a really powerful editor & the very same used by VS Code (i think you can even get at the AST for TypeScript, for example, in the browser if you poke around deep enough)
crazy cool stuff, and most definitely OSS!!!
-
NPM workspace and vite - Read dependency build output (d.ts file)
So lets say the project consists of two packages Lib and App in which Lib is a library and App is the frontend app which depends on Lib. Now I want to display a monaco powered code editor in App which has has access to all types of Lib. This means that I have to somehow read the *.d.ts file of Lib as a string to set it as "extra lib" for monaco.
-
🔥✍️ Notion-like Experience for Your GitHub Content
You’ll see a Monaco Editor-powered change editor. The content incoming from the Git repo is on the left, while the current content in Vrite is on the right. You can make changes in the editor on the right - this will ultimately become the result content. Once you’re done, click Resolve. If there are no other conflicts, you should now be able to pull the latest changes.
- Vscode.dev: Local Development with Cloud Tools
-
Vrite Editor: Open-Source WYSIWYG Markdown Editor
By referencing the ProseMirror docs, forwarding the editor state back and forth, and adjusting the layout, I managed to integrate Monaco Editor — the web editor extracted from VS Code — together with Prettier (for code formatting) right into the Vrite Editor (I know, that’s a lot of editors in one place 😅).
Now, there’s still some work to be done here. Monaco editor doesn’t work well for mobile, and some “optional” features weren’t yet optimized (like link previews or comments).
-
Kako da u JavaScriptu napravim da se kôd oboji dok ga korisnik ukucava? Uspio sam napraviti da se kôd oboji kad korisnik pritisne tipku, ali nisam uspio napraviti da se boja dok ga korisnik ukucava.
mozes koristiti gotovi code editor library, https://codemirror.net/ https://microsoft.github.io/monaco-editor/
- [Typia] I made realtime demo site of 20,000x faster validation (+200x faster JSON stringify)
rich-markdown-editor
-
Switching Rich Text Editors, Part 1: Picking Tiptap
Great article and fantastic choice!
This is a topic I have been very interested lately. I had been lucky to start using since Slate 0.61.x, but I cannot say anything good about it. It has a major problem with managing large documents [0]. I tried to introduce multiple improvements of performance, but it is very ungrateful project – change in one place affects many things at the same time. I am shocked, how many projects are still using it. For example, open-sourced Notabase [1]. My 4+ weeks with Slate.js completely killed motivation, and I was only thinking to put a whole project to litter.
In the result of being unhappy, I switched to Draft.js. It was 2020, and I was eager to try it out, so I did. Sadly, in 2020 there was also the last release [2]. Initially, I didn't like how it works. I preferred the Slate data model. Also, the draft.js project felt not maintained at that time (by looking at commits activity, issues and pull-requests). It is written in the Flow which I detest. I spent few weeks to try "merge" the draft.js and sentry with doing a "rewrite" to TypeScript. Obviously, quickly I realized myself it is stupid idea.
Then, I took a look at ReMirror. Yet another problem that was struggling with maintenance and active contributors. It is based on ProseMirror, so I thought it is better choice than previous. ReMirror is overly complex for simple things. It was hard to find any help - neither by googling examples nor via ReMirror's Discord (it was dead silence there).
After that, I have found information about the TipTap. Back then, there was only provided support for Vue.js. Fortunately, it was that time, when they have promised the v2 with React support. I skipped it to wait for the new version.
Maybe, a raw ProseMirror with React? Yep, tried it, but I wasn't very happy of the result. I knew the TipTap v2 will be released and there were already existing projects that were using ProseMirror behind the scene, for example: Outline's rich-markdown-editor[3]. It has tons of built-in components that I had with Slate. I was extremely happy about it, because "everything what I needed" was there – typical bold, italic, code, code block, quote, multi-level list and even table editing. Really awesome piece of code! However, authors decided they are opting for TipTap and they have archived repository on GitHub, which means officially the project is dead.
I had no time to test Quill.js. It looked interesting, but it has noticeable poor development pace, and it looks a dead project with many bugs.
Currently, I am using the TipTap v2 and I can't say how happy I am now. I guess I will stick with it for longer. However, I know the journey to find the best Rich Text Editor has not ended. There are more alternatives, for example Stylo [4] that I've found in this week.
[0] Try to copy the contents of https://www.slatejs.org/examples/huge-document and paste it back. In a result, my Firefox on Macbook M1 hangs.
[1]: https://notabase.io/
[2]: https://github.com/facebook/draft-js/releases/tag/v0.11.7
[3]: https://github.com/outline/rich-markdown-editor
[4]: https://stylojs.com/
- I moved this blog from Medium
-
Appflowy – open-source Notion Alternative
Outline's rich-markdown-editor (https://github.com/outline/rich-markdown-editor) package is pretty nice. I have used it to make some custom MD editor/CMS experiment.
-
I built a new platform, using NextJS, for creating a blog & newsletter (and earning money from your readers). I focused on speed, simplicity, privacy, and beautiful design. I'd love to get some early feedback!
Good eye! This is indeed based on ProseMirror. I didn't create it myself though, I'm using this: https://github.com/outline/rich-markdown-editor
- Ask HN: Open-source notion.so like block editor?
-
I made a simple Markdown editor and publisher that stores files on web3.storage!
Ah yes, I found the library I was using for the editor (rich-markdown-editor) to insert a lot of \ newlines when they weren't needed. I'll take a look at this sometime!
-
Notea - Self-hosted note-taking app stored on S3 | AKA a self-hosted Notion alternative
The outline editor is open source https://github.com/outline/rich-markdown-editor
-
What is your tech stack?
It runs a mult-tenant SaaS app with very low memory/cpu requirements (https://getoutline.com/)
-
CodeMirror 6
I had a similar experience starting out with ProseMirror; I wanted to make something similar to the editors in Dropbox Paper and Notion, and found an out-of-the-box rich text editor called tiptap built onto of it.
They already had nodes for images and embeds [1, 2] which made development easy (I would recommend checking out the source code; its about a hundred lines of code for each, and simple). But as I made more custom nodes, I learned pretty well the internals of tiptap and how it used ProseMirror. And over time, I've come to appreciate knowing its api.
So if there's any advice for people trying to get started with ProseMirror, I would say to look at libraries which built upon it as example code such as tiptap or the outline rich-markdown-editor [3].
[1] https://github.com/ueberdosis/tiptap/blob/main/packages/tipt...
[2] https://github.com/ueberdosis/tiptap/blob/main/examples/Comp...
What are some alternatives?
CodeMirror - In-browser code editor (version 5, legacy)
ace - Ace (Ajax.org Cloud9 Editor)
quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility.
flutter-quill - Rich text editor for Flutter
ProseMirror - The ProseMirror WYSIWYM editor
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
Draft.js - A React framework for building text editors.
vuetify - 🐉 Vue Component Framework
React PDF viewer - A React component to view a PDF document
AppFlowy - AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
Quasar Framework - Quasar Framework - Build high-performance VueJS user interfaces in record time
php-parser - :herb: NodeJS PHP Parser - extract AST or tokens