steveathon / bootstrap-wysiwyg

Tiny bootstrap-compatible WYSIWYG rich text editor
MIT License
661 stars 1.71k forks source link

Create a plugin system #82

Open codewithtyler opened 8 years ago

codewithtyler commented 8 years ago

A while back @steveathon and I talked about the future of this project and we agreed that building a plugin system would greatly benefit the project. I've been doing some searching and I've found a few other WYSIWYG editors that I believe would be good to use as a reference during the planning stage of this feature.

codewithtyler commented 8 years ago

Ok so I've looked over the Plugin API documentation for all 3 of the WYSIWYG projects I mentioned above, From what I've seen of their documentation I believe the Trumbowyg project and their plugin system is the most in line with what we want for our project.

The Summernote project has a good API, but I just don't think we want to open up some of the bits or our project that they do in their project. As for the Raptor Editor they have some really detailed documentation and open up a lot of methods in their plugin system, but I think it's does too much.

I firmly believe that project should do one thing and do it well and I believe if we used either of these two projects as our inspiration that we'd have way too much to handle especially since there's only just two of us working on this at the moment. If at some point we get more people contributing again then we might want to consider expanding the plugin system further.

With that being said, while going through all the documentation I made a list of things I think would be good for us to support in version 1.0 of the plugin system. Here's what I came up with:

Events

Other Methods/Hooks/etc.

Create method for destroying the editor (same as saving the content in the editor) - #53

cc: @steveathon I'd like your input on this. I'll need to know what your goals are for the event system and what you'd like to have included in it before I can get started.