Hello there! I was looking into writing my own text editor for my personal notes and daily logging. I wanted to build something that works with markdown and supports rich widgets, for example if I use some special syntax (or "just" the link of the tween) I can render a card for a specific tweet.<p>I'm looking for any kind of suggestion, I'm interested in learning new things<p>At the moment I was thinking of using Tauri and to write my UI using some frontend framework, but delegate most of the parsing to Tauri, not sure if that makes sense.
It's hard to answer without more context, eg although you didn't say so, it looks like your goal is a desktop app and you want to write it in Rust - or at least so I assume after spending 5 minutes learning about Tauri.<p>Maybe evcxr would give you a head start, it's a Rust-based Jupyter Kernel. Jupyter has a fairly mature ecosystem with widgets and it's easy to come up with renderers for different MIME types, so you might be able to lift some ideas or connect with other people working on similar tasks.<p><a href="https://github.com/google/evcxr" rel="nofollow">https://github.com/google/evcxr</a>
<a href="https://prosemirror.net/" rel="nofollow">https://prosemirror.net/</a>: A toolkit for building rich-text editors on the web<p>ProseMirror was written by Marijn Haverbeke, who also wrote (and rewrote!) the much used [CodeMirror] editor. So the design of his "editor toolkits" are based on years of experience developing and maintaining text editors. Marijn is very responsive on all the respective discussion boards.<p>Examples, including markdown: <a href="https://prosemirror.net/examples/" rel="nofollow">https://prosemirror.net/examples/</a><p>Depending on your design, CodeMirror may be the better choice, especially if you want "parsing." The core of CodeMirror is based on [Lezer], a custom parser designed for editors. ProseMirror is meant to be the rich text editor, but I found my TaskPaper clone was more suited for CodeMirror because it was more focused on plain text. I suppose it would be possible to combine Lezer with ProseMirror, but ProseMirror already has its own [document model].<p>[CodeMirror]: <a href="https://codemirror.net/" rel="nofollow">https://codemirror.net/</a><p>[Lezer]: <a href="https://lezer.codemirror.net/" rel="nofollow">https://lezer.codemirror.net/</a><p>[document model]: <a href="https://prosemirror.net/docs/guide/#doc" rel="nofollow">https://prosemirror.net/docs/guide/#doc</a>
Check out CKEditor 5, with media embed and Markdown support :)<p><a href="https://ckeditor.com/docs/ckeditor5/latest/features/media-embed.html" rel="nofollow">https://ckeditor.com/docs/ckeditor5/latest/features/media-em...</a>
Though for Twitter previews you might need to use services like Iframely but there is a ready-to-use integration guide: <a href="https://iframely.com/docs/ckeditor" rel="nofollow">https://iframely.com/docs/ckeditor</a><p>As for Markdown, you can switch the default CKEditor 5 output from HTML to Markdown: <a href="https://ckeditor.com/docs/ckeditor5/latest/features/markdown.html" rel="nofollow">https://ckeditor.com/docs/ckeditor5/latest/features/markdown...</a>
And Markdown input is provided by a customizable autoformatting feature. It's enabled by default in all CKEditor 5 builds.
You may be interested in this book <a href="http://www.finseth.com/craft/" rel="nofollow">http://www.finseth.com/craft/</a>