Loading...
 
Skip to main content

WYSIWYG and Markdown

2023-02-12 status:

https://tiki.org/The-Relentless-March-of-Markdown

2022-11-04 status:

This is a massive endeavor and we required external funding to make it happen. Three sponsors have stepped up! Special thank you to Moba Group, EvoluData and the 3rd sponsoring organization (which wishes to remain anonymous).


Can you also help? Please reach out to me if you can contribute coding time or money to hire developers. The more resources we have, the faster we can go through all the wish list 😊

Native WYSIWYG and Markdown is coming to Tiki25!

Thanks!


This is a project to attain the following objectives. This is a massive project that will have to be done in phases.

  1. A commonly used text syntax like Markdown supported natively in Tiki. Better than PluginMarkdown
    • The CommonMark spec is extensive: https://spec.commonmark.org/
    • We use Markdown for bold, bullets, etc. and we keep our current syntax for Tiki plugins {PLUGINNAME()} ... {PLUGINNAME}
    • We do what failed here: http://www.wikicreole.org/wiki/TikiWikiCMSGroupware WikiCreole was an attempt to get a common wiki syntax which is more or less what Markdown is.
    • To have a realistic transition, each text area will have a choice of various syntaxes, so each Tiki instance can move at their own pace. Each text area could have options such as
      • Tiki syntax
      • Markdown + Tiki plugins
      • HTML only
      • HTML + Tiki syntax + Tiki plugins
      • Whatever other mode existed in the past
    • Phased approach while we work on conversion tools
      • Optional, default off
      • Optional, default on
      • In 5-10 years, we can decide if we remove Tiki syntax or keep forever for read-only of legacy content
    • Conversion tools
      • Live (supervised by user) and via command line
      • Need a tool to compare HTML end result
  2. A reliable WYSIWYG editor that handles markdown with Tiki plugin syntax and avoids https://wysiwygproblems.com/
  3. Wiki Parser Revamp, Plugin revamp and/or merge Tiki plugins and Tiki modules into Gadgets (or Widgets) that can live in a text area or elsewhere on a page, and move to Vue JS: https://gitlab.com/jonnybradley/tiki/-/tree/project-fluffy-2
    • Can be done in a second step but overall plan needs to make sure it will be a good solution
  4. Realtime collaborative editing
  5. Page Builder and Form Builder
    • Can be done in a second step but overall plan needs to make sure it will be a good solution
  6. Interop with external systems so we could store some wiki pages in Git, as requested: here
    • Can be done in a second step but overall plan needs to make sure it will be a good solution
  7. Review diagrams from textual descriptions. Ex.: https://github.com/yuzutech/kroki
  8. Review Typography features

Steps

  1. Scope high level plan done
  2. Compare implementation options as per How to pick a software library (ongoing)
  3. Gather community agreement done (there is consensus this is desirable)
  4. Gather more resources
    • As of 2022-03-31, we have sufficient resources for steps #1 and #2 above. We'll sollicit more sponsorship to be able to do more (#3, #4, etc.)
  5. Assemble team (around Jonny and Victor) and do it! Team is reserved.

Questions

Options

1.1. WYSIWYG editors

1.1.1. ProseMirror with Markdown

https://prosemirror.net/examples/markdown/
https://github.com/ProseMirror/prosemirror-markdown

1.1.2. TOAST UI Editor


1.1.3. MeditorJS

1.1.4.  Stacks-Editor

1.1.5. Milkdown


1.1.6. TipTap

1.1.7. Wax

1.1.8.  Woofmark


1.1.9.  CodeMirror

1.1.10. HyperMD

1.1.11. Ckeditor-5


1.1.12. Editor.js

1.1.13. TinyMCE


1.1.14. Bubble

1.1.15. Quill

1.1.16. Summernote

1.1.17. ContentTools

1.1.18. Textbox.io

1.1.19. WYMeditor

1.1.20. ALOHA EDITOR

1.1.21. Simple MDE

1.1.22.  Editor.md

1.1.23. Easy-markdown-editor

1.1.24. Froala

1.1.25. Trumbowyg

1.1.26. CoffeeCup HTML Editor

1.1.27. Medium-editor-insert-plugin

1.1.28. Brickyeditor

1.1.29. SCEditor

1.1.30. AlloyEditor

1.1.31.  Markdownify

1.1.32.  Showdown

1.1.33. Bootstrap Markdown Editor

1.1.34.  Markdown-it

1.1.35. Cristal


1.2. Markdown tools that are not WYSIWYG editors

Here are all the Markdown Editors that are not WYSIWYG

1.2.1. Hackmdio

  • https://github.com/hackmdio/codimd


Ideas

  • Idea from Jonny: use attributes so each object can have a different setting. So old comments could be Tiki syntax, and new comments could be Markdown.

Other tools

To be evaluated

Show PHP error messages