Module:Taxonbar/candidate
- Afrikaans
- العربية
- Asturianu
- Basa Bali
- Banjar
- 閩南語 / Bân-lâm-gú
- Čeština
- فارسی
- ગુજરાતી
- 客家語 / Hak-kâ-ngî
- 한국어
- Igbo
- Ilokano
- Bahasa Indonesia
- ಕನ್ನಡ
- मैथिली
- മലയാളം
- Māori
- मराठी
- Bahasa Melayu
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- Мокшень
- Монгол
- မြန်မာဘာသာ
- नेपाली
- ଓଡ଼ିଆ
- Oʻzbekcha / ўзбекча
- ਪੰਜਾਬੀ
- ပအိုဝ်ႏဘာႏသာႏ
- Português
- Scots
- Simple English
- Slovenščina
- کوردی
- Српски / srpski
- Sunda
- తెలుగు
- Українська
- Tiếng Việt
- Yorùbá
- Kumoring
- ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 469,000 pages, or roughly 1% of all pages .
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
This module depends on the following other modules:
Related pages |
---|
About
This template is designed to be called from {{Taxobox/core }} or a related template, and tracks pages which may be candidates for a {{Taxonbar }}.
If no {{Taxonbar }} exists on the transcluded page, the page's Wikidata item is checked against this whitelist of acceptable instance of (P31)s/subclass of (P279)s, and this blacklist of unacceptable properties.
If an acceptable instance/subclass is found, then the page is categorized as:
If no acceptables nor unacceptables are found, then it is categorized as:
If no acceptables & at least 1 unacceptable is found, then no categorization is performed.
Usage
Associated lists
Whitelist
- taxon (Q16521)
- monotypic taxon (Q310890)
- monotypic fossil taxon (Q47487597)
- ichnotaxon (Q2568288)
- fossil taxon (Q23038290)
- ootaxon (Q59278506)
- extinct taxon (Q98961713)
- paraphyletic group (Q58051350)
- hybrid (Q42621)
- incertae sedis (Q235536)
- clade (Q713623)
- serotype (Q848328)
- Candidatus (Q857968)
- unavailable combination (Q17487588)
- taxon hypothesis (Q124477390)
The above documentation is transcluded from Module:Taxonbar/candidate/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
local p = {} function p.check(frame) local taxonbarExists = require('Module:Taxonbar/exists').check if taxonbarExists(frame) == true then return '' else local resolveEntity = require( 'Module:ResolveEntityId' ) local currentTitle = mw.title.getCurrentTitle() local currentItem = nil local categories = { '[[Category:Taxobox articles possibly missing a taxonbar]]' --unset if acceptable or unacceptable found } --preliminary exclusion criteria if string.match( currentTitle.text, '^List of ') then return '' end --find Wikidata item if currentTitle.namespace == 0 then --mainspace local currentEntityId = mw.wikibase.getEntityIdForCurrentPage() if resolveEntity._id(currentEntityId) then currentItem = mw.wikibase.getEntity(currentEntityId) else --currentEntityId == nil/unresolvable return categories[1] end else return '' end if currentItem then --currentItem should not be nil here, but check just in case --determine if {{Taxonbar}} is *definitely* missing, *possibly* missing, or not missing at all local whitelist = require( 'Module:Taxonbar/whitelist' ).whitelist local blacklist = require( 'Module:Taxonbar/blacklist' ).blacklist local acceptableInstanceOf_All = whitelist{ args = { 'all' } } local unacceptableInstanceOf = blacklist{ args = {} } local acceptableCount = 0 local unacceptableCount = 0 for _, instanceOfState in pairs ( currentItem:getBestStatements('P31') ) do --instance of local instanceOf = instanceOfState.mainsnak.datavalue.value.id if acceptableInstanceOf_All[instanceOf] then acceptableCount = acceptableCount + 1 elseif unacceptableInstanceOf[instanceOf] then unacceptableCount = unacceptableCount + 1 end end for _, subclassOfState in pairs ( currentItem:getBestStatements('P279') ) do --subclass of local subclassOf = subclassOfState.mainsnak.datavalue.value.id if acceptableInstanceOf_All[subclassOf] then acceptableCount = acceptableCount + 1 elseif unacceptableInstanceOf[subclassOf] then unacceptableCount = unacceptableCount + 1 end end if acceptableCount > 0 then categories[1] = '' categories[2] = '[[Category:Taxobox articles missing a taxonbar]]' elseif unacceptableCount > 0 then categories[1] = '' categories[2] = '' end return table.concat(categories) else return '' end end end return p