#extends and #implements need better documentation and examples.
The User's Guide states that when doing multiple inheritance, the first class listed in #extends must be (a subclass of) Cheetah.Template.Template. Why? It goes against normal Python practice, which is to list mixin superclasses first and the main base class last. Also, why can't Cheetah just implicitly append Template to the end of the #extends list? That would ensure Template is always available, and would eliminate user confusion. Would it have any bad interactions of the user also inherits from a Template (sub)class anyway?
Frederico posts a possible solution to the above in his example of combining Cheetah with WebKit.Page (instead of using Cheetah.Templates.SkeletonPage) There are some problems combining WebKit.Page with a Cheetah template. Although Cheetah.Templates.SkeletonPage is intended to replace Page for Cheetah projects, some users prefer Page. An example is at http://cvs.initd.org/ in the CVS's "initd" module.
---
Switched to single inheritance for #extends in 0.9.12 or 0.9.13, and added examples in the Users' Guide in the #extends and #implements sections, with cross references from the other sections.
-- MikeOrr - 17 Apr 2002