Q1: Do we need to refactor any of the existing templates to create new components that have been suggested? If so what are the scopes of these components?
- #content.mw-body to Content.mustache, Content.less and legacy/Content.less,
- Common root of VectorTabs (#mw-head) to Tabs (.mw-tabs)
- Logo (.mw-logo) -> done: patch 577682
Q2: What are the guidelines for using template partials? I (@Jdlrobson) believe that we should only use template partials if they are either 1) reusable 2) used inside a loop. Template partials within template partials are a potential sign that our templates have got overly complex (Yo-Yo problem) and are likely to suffer from the same issues that we see with class inheritance. An alternative opinion might be that we want to keep the master template as simplified as possible. Let's discuss pros and cons of both approaches.
Note from @Demian: Template partials are the equivalent of composition in OOP (best practice), not inheritance (long-term issues). Building complex components with simple components is a common pattern. Its benefits are 1) reusability 2) comprehensibility 3) separation of concerns.
Outcomes
Document any decisions in the codebase.