# Why Wysimark?

Before creating Wysimark, we tried a lot of markdown editors but none of them resulted in a beautiful, easy-to-use (for non-developers), WYSIWYG editor that generated proper Markdown.

We found that there were three kinds of Markdown editors, and all of them lacked features that would make what we believed was a good WYSIWYG Markdown editor feature complete:

* **Does not support parts of the Markdown specification:** Implementing the first 80% of Markdown specification is easy, but the last 20% is hard. For example nesting in block quotes.
* **Are not WYSIWYG:** End users prefer WYSIWYG editing like in Google Drive or Microsoft Word and don't want to see code.
* **Generate broken Markdown code:** Most editors generate broken Markdown in certain cases. For example, when you bold a word and include the trailing space, most editors generate `my **bold **text`. This is invalid Markdown and will not produce bold text because the word needs to be directly inside of the asterisks like `my **bold** text`.
* **Does not support image uploads:** Most editors support inserting an image through a URL, but require you to upload the image through a separate service.
*

There are other options for creating Markdown documents. Wysimark was created because the other options lacked some or all of these features:

* Were not WYSIWYG
* Did not support the full markdown specification
* Did not maintain strict comp

Most options fell into one of three camps:

1. **Textarea:** Users edit plain text in a textarea with buttons that insert markdown code directly into the text.
2. **WYSIWYM:** Users edit in a format that shows the Markdown code and adds a formatting layer on top. This can feel familiar to developers, but
