Module:Taxonbar/blacklist
Appearance
From Wikipedia, the free encyclopedia
Related pages |
---|
Warning This template 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 template's /sandbox or /testcases subpages, or in your own user subpage. 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 template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
About
This module returns all unacceptable instance of (P31)s as a Lua table for use in a module such as Module:Taxonbar/candidate
For use in documentation, see {{Taxonbar/blacklist }}.
Usage
local myBlacklist = require( 'Module:Taxonbar/blacklist' ).blacklist{ args = {} }
produces:
myBlacklist = { 'Q913170' = 1, 'Q55983715' = 2, 'Q937228' = 3, 'Q14712' = 4, 'Q163233' = 5, 'Q747463' = 6, }
See also
The above documentation is transcluded from Module:Taxonbar/blacklist/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 = {} --Returns a blacklist of unacceptable wikidata instance-of's, --either as a table for use inside a module such as [[Module:Taxonbar]], --or as an ordered list for use in documentation. function p.blacklist( frame ) local documentation = frame.args[1] local unacceptableInstanceOf_All = { --table order == display order 'Q913170', --trivial name 'Q55983715', --group of organisms known by one particular common name 'Q937228', --property 'Q14712', --drupe 'Q163233', --compound drupe 'Q747463', --compound fruit } if (documentation == nil) or --module only (documentation and documentation == '') then local out = {} for k, v in pairs( unacceptableInstanceOf_All ) do out[v] = k --output Q# as keys for table lookups end return out elseif (documentation == 'docdoc') then --self-documentation only local selfdocout = 'myBlacklist = {\n' for k, q in pairs( unacceptableInstanceOf_All ) do selfdocout = selfdocout..'\t\''..q..'\' = '..k..',\n' end selfdocout = selfdocout..'}' local args = { ['lang'] = 'lua', ['code'] = selfdocout } out = frame:expandTemplate{ title = 'Syntaxhighlight', args = args } return out else --normal documentation only local out = '' for _, q in pairs( unacceptableInstanceOf_All ) do local Q = frame:expandTemplate{ title = 'Q', args = { q } } out = out..'# '..Q..'\n' end out = mw.ustring.gsub(out, '%s+$', '') return out end end return p