Customising templates

From Miraheze Developers Wiki

High quality and complex templates are easier obtained from Wikipedia, or similar sites (e.g. MediaWiki) than written from scratch. Considerable work will have already gone into developing and debugging these. However they are usually tailored specifically for those sites. On Miraheze Developers Wiki the templates are intended to be more suitable for general use. This page explains how to go about doing that.

Required changes

Site (e.g. Wikipedia) specific templates need to be made more generally usable:

  • Comply with Wikimedia trademark policy.
  • Replace instances of Wikipedia in the text with {{ns:Project}}, (or Miraheze if appropriate).
  • Replace instances of Wikimedia in the text with Miraheze.
  • Replace namespace wikilinks e.g. Wikipedia to {{ns:Project}} or meta.
  • In Lua modules replace Wikipedia with ' .. .. ' for example to alter the text in {{stub}} change in module asbox line 233 from:
' is a [[Wikipedia:stub|stub]]. You can help Wikipedia by [',


' is a [[' .. .. ':stub|stub]]. You can help ' .. .. ' by [',
  • Remove assumptions about the structure of the wiki (such as a template producing an error when used in certain namespaces - you can't know what namespace configuration the target wiki will use) from both the code and the documentation.
  • Try to reduce the number of dependencies the template has. Templates with fewer, or ideally no, dependencies are easier to export to other wikis. If a template does have dependencies, note them on the doc page with {{dependencies}}.
  • Remove any red-linked categories and add the template to Category:Templates or an appropriate subcategory.


Miraheze wikis are Instant Commons enabled, otherwise the images for icons would have to be uploaded locally. A good source for icon images is Wikimedia Commons' Category:Icons by subject.


Because of CC-BY-SA licensing considerations the previous authors need to be acknowledged. Here's a list of sources and attribution templates for inserting at the bottom of the imported pages, (but not sub-pages) e.g. before </noinclude>:

See also