Module:Science redirect
![]() | This module is rated as beta, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected. |
![]() | This module depends on the following other modules: |
This module is designed to serve as a back end for {{R from alternative scientific name}}
, {{R to scientific name}}
, {{R from scientific name}}
, {{R to monotypic taxon}}
and {{R from monotypic taxon}}
.
The template parameters and recognized categories are set in Module:Science redirect/conf.
Usage
{{#invoke:Science redirect|R|template name excluding 'R'}}
For example, for {{R to scientific name}}, you would use {{#invoke:Science redirect|R|to scientific name}}
to produce:
- To scientific name of an organism: This is a redirect from a vernacular ("common") name to the scientific name of an organism (or group of organisms).
Adding or modifying supported templates
The template parameters and recognized categories are set in Module:Science redirect/conf. Instructions on how to add data are in the comments of that file.
For debugging, add parameter |debug=true
, e.g. {{#invoke:Science redirect|R|to scientific name|debug=true}}
produces:
{{Redirect template
| name = To scientific name of an organism
| from = a vernacular ("common") name
| id = R_to_scientific_name
| printworthy = yes
| main category = Redirects to scientific names
| to = the scientific name of an organism (or group of organisms)
}}
Tracking categories
RCats
Science redirects
- Category:Redirects from alternative scientific names
- Category:Redirects to scientific names
- Category:Redirects from scientific names
- Category:Redirects to monotypic taxa
- Category:Redirects from monotypic taxa
Plant redirects
- Category:Redirects from alternative scientific names of plants
- Category:Redirects to scientific names of plants
- Category:Redirects from scientific names of plants
- Category:Redirects to monotypic taxa of plants
- Category:Redirects from monotypic taxa of plants
Fish redirects
- Category:Redirects from alternative scientific names of fish
- Category:Redirects to scientific names of fish
- Category:Redirects from scientific names of fish
- Category:Redirects to monotypic taxa of fish
- Category:Redirects from monotypic taxa of fish
Fungus redirects
- Category:Redirects from alternative scientific names of fungi
- Category:Redirects to scientific names of fungi
- Category:Redirects from scientific names of fungi
- Category:Redirects to monotypic taxa of fungi
- Category:Redirects from monotypic taxa of fungi
Spider redirects
- Category:Redirects from alternative scientific names of spiders
- Category:Redirects to scientific names of spiders
- Category:Redirects from scientific names of spiders
- Category:Redirects to monotypic taxa of spiders
- Category:Redirects from monotypic taxa of spiders
Crustacean redirects
- Category:Redirects from alternative scientific names of crustaceans
- Category:Redirects to scientific names of crustaceans
- Category:Redirects from scientific names of crustaceans
- Category:Redirects to monotypic taxa of crustaceans
- Category:Redirects from monotypic taxa of crustaceans
Reptile redirects
- Category:Redirects from alternative scientific names of reptiles
- Category:Redirects to scientific names of reptiles
- Category:Redirects from scientific names of reptiles
- Category:Redirects to monotypic taxa of reptiles
- Category:Redirects from monotypic taxa of reptiles
Insect redirects
- Category:Redirects from alternative scientific names of insects
- Category:Redirects to scientific names of insects
- Category:Redirects from scientific names of insects
- Category:Redirects to monotypic taxa of insects
- Category:Redirects from monotypic taxa of insects
Virus redirects
- Category:Redirects from alternative scientific names of viruses
- Category:Redirects to scientific names of viruses
- Category:Redirects from scientific names of viruses
- Category:Redirects to monotypic taxa of viruses
- Category:Redirects from monotypic taxa of viruses
Invalid parameters
- Category:Redirects from alternative scientific names using unknown values for parameter 1
- Category:Redirects to scientific names using unknown values for parameter 1
- Category:Redirects from scientific names using unknown values for parameter 1
- Category:Redirects to monotypic taxa using unknown values for parameter 1
- Category:Redirects from monotypic taxa using unknown values for parameter 1
local conf = require( "Module:Science redirect/conf" ) local p = {} function p.R(frame) local template = mw.ustring.gsub(frame.args[1], ' ', '_') if conf.templates[template] then return p._main(frame, 'R_' .. template, conf.templates[template].name, conf.templates[template].from, conf.templates[template].to, conf.templates[template].category, conf.templates[template].info, conf.templates[template].removeA) elseif template then return '<span class="error">The template '..template..'is not valid.</span>\n' else return '<span class="error">No template specified</span>\n' end end function p._main(frame, id, name, from, to, category, info, removeA) --initialize variables local args = frame:getParent().args local singleNoun, pluralNoun = '', '' local outStr = '' --Check for known parameter 1 local cat = mw.ustring.match(mw.ustring.lower(args[1] or 'none'), '^(.-)s?$') if conf.cats[cat] then singleNoun, pluralNoun = conf.cats[cat][1], conf.cats[cat][2] else singleNoun, pluralNoun = 'an organism' outStr = '[[Category:Redirects '..category..' using unknown values for parameter 1]]' end --strip article from singleNoun if removeA is true if removeA == true then if singleNoun == 'an organism' then singleNoun = '' else singleNoun = (mw.ustring.match(singleNoun, '^an? (.*)$') or singleNoun) end end --support alternative indications for printworthy if args[2] == 'unprintworthy' or args['unprintworthy'] == 'true' then args['printworthy'] = 'no' end --build template arguments local main_category = 'Redirects '..category if pluralNoun then main_category = main_category..' of '..pluralNoun end local outArgs = { id = id, name = mw.ustring.gsub(name, '$1', singleNoun), from = mw.ustring.gsub(mw.ustring.gsub(from, '$1', singleNoun), '$2', (pluralNoun or 'organisms')), to = mw.ustring.gsub(mw.ustring.gsub(to, '$1', singleNoun), '$2', (pluralNoun or 'organisms')), ['main category'] = main_category, printworthy = (args['printworthy'] or 'yes'), info = info, } --build output string if frame.args['debug'] == 'true' then local debugStr = '{{Redirect template<br />\n' for k,v in pairs( outArgs ) do debugStr = debugStr..'| '..k..' = '..v..'<br />\n' end outStr = debugStr..'}}'..frame:extensionTag{ name = 'nowiki', content = outStr} else outStr = frame:expandTemplate{ title = 'Redirect template', args = outArgs }..outStr end return outStr end return p