Template repository

This is an idea for something that doesn't exist yet. If you want to help develop this idea, please edit this page.

Idea
To develop a set of "starter" or "default" templates (template templates, you might even say) that new wiki installs can copy and use.

Motivation
Pretty and clever templates are very difficult to write from scratch, and copying them from Wikimedia wikis is often very difficult because of extreme template nesting. Good templates can enormously improve the look and navigatability of a wiki.

Requirements

 * Templates should be public domain.
 * Templates should be self contained, not calling other templates (or: maybe a maximum of one meta-template?).
 * Templates should have usage and modification instructions.
 * Templates should not rely on ParserFunctions (or: they should indicate if they do).
 * Templates should aim to be easy to read and understand even without usage instructions.
 * We should also write some useful CSS that templates use, and ship it with the templates, rather than having manually coded CSS in each one.
 * Images - use sparingly for easier re-use?
 * use public domain images if necessary
 * Use PNGs rather than SVGs for easier re-use (PNG uploads are configured by default, SVGs are not)
 * Maybe offer multiple versions of templates? one with SVG, one with PNG, one with no image.

Guidelines for template writers

 * Don't try and make the most extensible template ever: don't keep everything as variable for the user to provide. e.g. alignment of boxes: just pick an alignment and hard-code it.

Distribution
Ways that people can get the templates:
 * Possibly bundled - included by default?
 * An extension?
 * Special:Export (this will always work, but it's not so much fun for a large number of pages. also images still have to be manually copied)

Needed templates

 * Infobox
 * Multiple variables.


 * Navbox
 * No variables.


 * Warning
 * One variable.


 * Ambox
 * AKA cleanup/article message box. Could be same as warning?
 * No variables


 * Tip
 * One variable


 * User welcome
 * For user talk pages
 * No variables (put names external to template)?


 * Edit request
 * For protected pages - put on talk page
 * No variables - acts as a "tag" and people put their request below.


 * Inline
 * aka "citation needed"
 * no variables.


 * Licenses
 * no variables.


 * Ratings
 * Like WikiProject talk page templates
 * a small number of variables.


 * Userboxes
 * No variables.