On a lazy Sunday morning, I decided to survey the state of what I call Pure WYSIWYG Markdown Editors in July of 2016. I define it as:
- A JS-based editor which does not show formatting (or at least it can be hidden by default).
- Allows all common markup formats (bold, italicized, lists, etc).
- Outputs Markdown, with satisfactory results (follows conventions).
- Close to plug-and-play architecture (low threshold of configuration and dependencies).
Also, if it were to be an alternative implementation for Grav - as a plugin for an editor - it needs to have a solid base of development and well-written architecture. Ease of integration and extendability does not hurt either. A list of realistic alternatives, given these requirements and virtually all Markdown editor projects I have come across and could dig up (in descending order of estimated ease of integration):
- Medium Editor: Needs styling, lightweight
- Solid and mature architecture, handful of useful plugins, easy to integrate
- Does not support Markdown macro s
- Substance: Needs building an extension
- Solid and mature architecture, variety of plugins/themes, requires building an extension for Markdown to integrate
- Planned support for Markdown macros (this month)
- Pen Editor: Need styling, very lightweight
- Green but strong architecture, limited extensibility, features might limit integration
- Supports Markdown macros
- WoofMark: Needs heavy customization, lightweight
- Fairly green architecture, no plugins/themes, easy to integrate
- Does not support Markdown macros
- CKEditor: Outdated plugin, potentially heavyweight
- Solid and mature architecture, variety of plugins/themes, fairly easy to integrate
- Does not support Markdown macros
- StackEdit: Needs heavy customization
- Solid and mature architecture, already heavily integrated with features, fairly difficult to integrate (functionality must be separated from core)
- Hybrid-WYSIWYG (hiding formatting is unclear)
As you can see, from an initial selection of about 30-40 self-proclaimed WYSIWYG editors, 6 remain. The common belief is that visible formatting is a strength of Markdown editing, and even though there is a high demand for a WYSIWYG alternative there are few options - mostly because many attempts are abandoned or focused on OS-editors (Windows, Linux, Mac, not open source web).
That said, Medium Editor and Substance seem to me to be potentially great alternative editors for Grav which allow a full WYSIWYG experience. Pen Editor and WoofMark are decent alternatives for simpler integrations, and lack the development and architecture of the first two. CKEditor is a heavy beast in itself (and the Markdown plugin is outdated) and whilst StackEdit is a favorite of mine, neither are really suited for layering ontop of Grav due to their specific nature and purpose.
Given the time, I might try my hand at a plugin bundling in one of them. However, as I have written previously: The desired functionality of the current Grav Editor is hiding formatting; integrating something new ontop of this is using a sledgehammer where a chisel is needed.