Hello All,
Bundling the plugins in hyde was following the "batteries included" nature of python. However, this has been
problematic for hyde at so many levels, the worst of which is the cost of maintenance and documentation.
So my tentative plan for handling plugins in 1.0:
1) `hyde.plugins` will become a namespace package.
2) hyde will bundle essential and lean plugins[A] others will be in their own github repo and will have
their own package on pypi.
3) Plugin authors may choose to install in the `hyde.plugins` namespace
4) No differences in the API, behavior of plugins. They will have to be explicitly specified in `site.yaml`
despite the extra installation step.
I see the following benefits with this approach:
* Plugins and their dependencies are managed by the plugin package. No explicit documentation is needed to clarify
what dependencies are needed for a plugin.
* Plugin maintenance is taken care of by the plugin authors and maintainers.
* Plugin documentation is separate and focussed on the plugin
* Hyde repository becomes more manageable
The downside to this is that changes to hyde need to be done with care and tested with as many plugins as possible
to avoid breaking changes. I don't see that as a major issue.
--------------------------------------
A) What are essential and lean plugins:
=============================
* Leanness is directly related to dependencies weighed in this order:
1. No dependencies at all
2. Python only dependencies
3. Easily installable non python dependencies
4. Others (*cough*nodejs*cough*)
* What are essential
================
My list is limited to:
1) Organization: Sorter, Tagger, Grouper, Paginator, Flattener, Depends
2) Multilanguage
3) Media management: combine, clevercss (?), jsmin (?), imageoptim (?)
Plugins like meta and urlcleaner ought to be a part of hyde and will be in core.
Lakshmi