Define expected WYSIWYG editor behavior for the static site editor

To enable users to easily edit the content of static sites we need to implement a WYSIWYG editor that can give them a sense of content hierarchy and layout while editing, instead of looking at raw Markdown syntax.

When choosing the ideal editor to use the following aspects should be considered:

Technical

  1. Maturity - how mature is the editor in terms of feature completion and duration existence
  2. Community - how active is community in reporting and addressing issues and submitting merge/pull requests to the project
  3. License - it should have an appropriate open source license for us to be able to embed it in our product
  4. Browser support - it should work in all modern browsers
  5. Mobile support - does it work on mobile browsers
  6. Skinning - can we modify the look and feel easily to adapt to our needs
  7. Extensibility - can we extend it with custom functionality to handle non-standard markdown
  8. Technology - is it compatible with our current tech stack and not introduce unnecessary dependencies

Behavioral

  1. Ability to switch between WYSIWYG mode and editing the raw Markdown
  2. Ability to hide the markdown syntax after applying the formatting.
    1. Example, typing ## Header 2 would remove the ## from the string and apply H2 styling.
  3. Visual styling and management of tables is a very nice-to-have feature
    1. Ideally, it would also support copy/paste of tables from Excel or Sheets
Edited by Eric Schurter