I've been using Superfish for quite a while and love it!
I'm currently using it on a responsive site and have just downloaded the latest dev version to see what the new accordion menu is like. I had the thought that if it doesn't do what I want (I have a specific idea in mind for a responsive menu), then I could just make my own plugin. However, my plugin would be for a specific use case and would partly duplicate other plugin's functionality, so it may not be worth adding it into Superfish itself.
That got me thinking though... Why not make Superfish modular?
If you were to strip the Superfish module down to the bare essentials, then move all the plugins out into new modules, user's could pick and choose which plugins they wanted to use on any given site (and the UI would be considerably less cluttered). There would then be an API that would allow other developers to create and share their own plugins for Superfish (I'm imagining something like a hook implementation that lets Superfish know about a new plugin, a way of adding new options to the Superfish block configuration form and a 'plugins' sub-directory in the Superfish library).
I'm doing something similar for the new version of my Masonry module (though it remains to be seen how well this approach works...).
Thoughts?
Comments
Comment #1
mehrpadin commentedHey there,
This makes the module more complicated I guess, will think about it, thanks!
Comment #2
Anonymous (not verified) commentedI think Superfish is already fairly complicated (look at the amount of code that makes up the block configuration form) ;)
This'll just break up that complexity so unnecessary functionality isn't required.
Comment #3
mehrpadin commentedAs I'm about to finalize my to-do for v2.0 and D8 I've given this more thoughts and I couldn't find a reason to restructure things that way etc, will close feel free to reopen if necessary, thanks again.