TOAST UI Editor
Svelte
![SurveyJS Logo](https://cdn-b.libhunt.com/images/promo-campaign-images/000/000/030/main.png?1674177924)
TOAST UI Editor | Svelte | |
---|---|---|
19 | 641 | |
16,852 | 77,071 | |
0.6% | 0.7% | |
0.0 | 9.9 | |
23 days ago | 7 days ago | |
TypeScript | JavaScript | |
MIT License | MIT 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.
TOAST UI Editor
-
Show HN: Unforget, the note-taking app I always wanted: offline first, encrypted
What problems did you encounter with something like https://ui.toast.com/tui-editor? Which is much more featureful than simplemde.
-
UX Case Study: Markdown Heading
A step in that direction can be seen in TOAST UI editor:
-
I'm making a GlowUI text editor to get back into coding
If you need a WYSIWYG markdown editor you can try Toast UI Editor or simply use Markdown Live add-on for Visual Studio Code
-
Is there a way to edit callouts in preview mode
- Toast UI Editor: https://ui.toast.com/tui-editor
-
Ask HN: Any good out of the box WYSIWYG and MD JavaScript libs?
https://github.com/nhn/tui.editor Might be close to what you are after.
- Using external Editor
-
Ask HN: Help me pick a front-end framework
Can you elaborate a bit more on this part, please?
> I'm thinking of building a text-annotation based app _alone in my spare time_. The core usage loop is about viewing and interacting with "visual markup" applied to a body of text. So lots of tooltips/hoverbars I guess.
Or show us a mockup... doesn't have to be anything fancy, just like a pen and paper sketch or a simple Figma.
I'm asking because it kinda sounds like you're wanting to do something like an online IDE or Google Docs, where you're manipulating a body of text in the style of a rich text editor. If that's the case, it's possible the HTML DOM model isn't quite the right fit for you... you may find it better to abstract over a Canvas or WebGL object instead of trying to shoehorn that experience into the raw DOM. That way you have full control over rendering, outside of the normal layout/styling/rendering loop. It might also make a good case for a single-page app (at least the majority of the editor itself would be, and the other stuff -- marketing, blog, etc. -- can be routed to individual pages).
In that case, it wouldn't be so much a question of "framework" in the sense of React, Vue, etc., which traditionally work on the DOM. It might be more a question of "engine", like whether to use something like PixiJS to manipulate the graphics layer vs rolling your own. State management can be done with something like Redux (even without React), or if you choose to use a frontend framework for the rest of it, you can maybe use their state solution with your rendering engine.
In addition to choosing a low-level graphics lib, you can also look at some existing rich text markup solutions. A CMS I used had a good blog post on this: https://www.datocms.com/docs/structured-text/dast#datocms-ab... along with their open-source editor: https://github.com/datocms/structured-text
A more widespread one is the toast UI editor: https://ui.toast.com/tui-editor
I know you're not just working in Markdown, but these give you an idea of what it's like to work with complex text trees in JS.
Once you have the actual text editor part figured out, choosing the wrapper around it (again, just for marketing pages, etc.) is relatively trivial compared to the difficulty of your editor app. I really like Next.js myself (if you choose React), but I don't think you could really go wrong with any of the major choices today... React/Vue/Svelte/etc. And it looks to me like the complexity of your site wouldn't really be around that anyway, but the editor portion.
Lastly: I don't think ANY JS tool or package is going to be maintained in 10 years. Frankly, 2 years is a long time in the JS ecosystem :( I'm not defending this phenomenon, I hate it too, but that's the reality of it. If long-term maintenance is a goal of yours, you might want to consider writing abstraction layers over third-party tools you use, so you can easily swap them out when future things come out (because they will). The web itself is changing too fast for libraries to keep up; instead, people just write new ones every few years. An example of this is the pathway from the Canvas to WebGL to workers to WASM (and how to juggle heavy computational vs rendering loops around)... a lot of the old Canvas-based renderers, which were super powerful in their time, are now too slow vs the modern alternatives. Nobody is going to port the old stuff over, they just make new libs. It's likely that trend will continue in the JS world (that whatever you write today will be obsoleted by a new web API in a few years).
Lastly, as an aside, TypeScript is a superset of JS... if you find a JS project/lib/plugin that you want to use, there will often be types for it made by the community (https://github.com/DefinitelyTyped/DefinitelyTyped) , or you can write your own types for it. I don't really have an opinion about TypeScript vs writing in some other language and compiling to JS, but it would probably be easier to find help (especially frontend) in the future if you stick with TypeScript instead of convoluting your stack with multiple languages. Sounds like most of your app will be clientside anyway with limited backend needs.
---------
Tech aside... have you considered partnering with a frontend dev for this? I know you said "alone", but just having someone set up the basic skeleton of such an app with you for the first month or two could be super helpful. Or a UX person to help you with some of the interactions before you start serious coding. They don't have to be with you the whole journey, but maybe they can help jumpstart your project so you can then work on adding features & polish in your spare time, instead of figuring out basic architecture? Unless, of course, that's the part you actually enjoy. In that case, don't let anyone rob of you that :)
Have fun! Sounds like a cool project.
-
Is there any *real* WYSIWYG markdown editor besides Typora?
I think the Toast UI Editor can achieve what you want, and it does a pretty good job at that. Is built upon ProseMirror. Won't be a lot else out there since it's actually quite a hard thing to achieve once you get into the detail.
-
Stick - Shareable Git-powered notebooks
Ideas to add: - add markdown editor that works via plain JS - ability from UI to rollback to previous note version (git checkout) - Ability to create directories for notes
-
TOAST UI Editor VS ink - a user suggested alternative
2 projects | 7 May 2022
Svelte
-
Top JavaScript Frameworks in 2024
Further Reading/Resources React Documentation: React Official Site Angular Documentation: Angular Official Site Vue.js Documentation: Vue.js Official Site Svelte Documentation: Svelte Official Site Next.js Documentation: Next.js Official Site
-
Top 17 Fast-Growing Github Repo of 2024
Svelte
-
Svelte Series-2: How to install Svelte
The original installation referred to here is actually the installation prompt that appears on the home page of the official website
-
Svelte Series-1: An awesome framework
From the beginning of this chapter, I will be with you to understand a different framework from React and Vue Which use virtual DOM as the core, this framework is - Svelte.
-
10+ UI Libraries for Svelte to Try in 2024
Svelte is an open source JavaScript framework which gains popularity among web developers due to its fast client performance (compared to React and Vue), lightweight nature and ease of learning. Svelte, together with SvelteKit, makes web developers more productive allowing them to build projects faster, write code that is easier to understand and fix, and simply "code with joy".
-
Getting started with React by building a Pokemon search application
Also, I recently checked out Svelte and kinda like it, so will be doing a post like this next; stay tuned.
-
Securing SvelteKit Apps with Keycloak
Svelte and specifically, SvelteKit is an open source web framework that makes developing web applications easier.
-
My opinion about opinionated Prettier: π
the technical decision how Svelte should treat self-closing html elements was hindered by Prettier:
-
Composable architecture example: Go headless (best practices)
Svelte
-
How to optimise React Apps?
React has introduced measures like batching state updates, background concurrent rendering and memoization to tackle this. My opinion is that the best way to solve the problem is by improving their reactivity model. The app needs to be able to track the code that should be re-run on updating a given state variable and specifically update the UI corresponding to this update. Tools like solid.js and svelte work in this manner. It also eliminates the need for a virtual DOM and diffing.
What are some alternatives?
quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
daisyui - πΌ πΌ πΌ πΌ πΌ βThe most popular, free and open-source Tailwind CSS component library
lit - Lit is a simple library for building fast, lightweight web components.
TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
SimpleMDE - A simple, beautiful, and embeddable JavaScript Markdown editor. Delightful editing for beginners and experts alike. Features built-in autosaving and spell checking.
qwik - Instant-loading web apps, without effort
fullcalendar - Full-sized drag & drop event calendar in JavaScript
awesome-blazor - Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
ckeditor-releases - Official distribution releases of CKEditor 4.
Next.js - The React Framework
![SurveyJS Logo](https://cdn-b.libhunt.com/images/promo-campaign-images/000/000/030/main.png?1674177924)