this post was submitted on 07 Jul 2024
48 points (80.8% liked)
Programming
17326 readers
237 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If I wanted a WYSIWYG field I'd probably still use markdown. I could add the buttons to properly inject markdown symbol and use a JS markdown renderer for the text field. Tbh I'd be amazed if there weren't at least a dozen out-of-the-box packages that included a live rendered text area with a widget array.
In this instance I'm not advocating for markdown as a user interface but just using it as a quick and dirty markup language. Be aware that if you turn to HTML, you'd be adopting responsibility for a lot of non-trivial security issues. If the customization went beyond markdown (into, for instance, fonts) you'd need a more complex solution so you'd likely want to investigate other tag or boundary marker based markup languages out there. Markdown is just simple and has ten billion implementations out there.
Probably not. Having actually played with making a WYSIWYG editor as a learning project markdown is too simplistic for the formatting needs of any non-trivial text editing, as a serialized storage format.
You almost always end up back with your own data structure that you serialize into something like XML for storage. Or you end up supporting HTML or non-spec compliant syntax in your markdown.
And if you care about performance, you're not actually working with XML, HTML, or Markdown in memory. You're working with a data structure that you have to serialize/deserialize from your storage format. This is where markdown becomes a bit more tedious since it's not as easy to work with in this manner, and you end up with a weird parsing layer in-between the markdown and your runtime data structures.
The commenter that's downvoted is more correct than not IMHO (Also why are we downloading discussions??). Markdown is ill suited for "most WYSIWYG needs". It tends to get augmented with XML or custom non-spec compliant syntax. The spec poorly supports layout (columns, image & media positioning, sizing...etc) and styling (font color, size, family, backgrounds...etc)