Module:Sports reference
Appearance
![]() | This Lua module is used on approximately 6,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
![]() | This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Usage
This module returns a link to Olympics at Sports-Reference.com. The module only has one function, link
, which returns the external link text ready for use.
{{#invoke:Sports reference|link|id (optional)|name (optional)}}
For complete usage and examples, see the {{Sports reference}} template:
-- This is the code to insert a template to indicate that the link is in English:
-- frame:expandTemplate{ title = "LANGUAGETEMPLATENAME", args = { "en" } }
-- It is obviously not used in the English Wikipedia itself.
local function linktext(s)
entity = mw.wikibase.getEntityObject()
if not entity then
label = mw.title.getCurrentTitle().text
else
label = mw.wikibase.label(entity.id) or mw.title.getCurrentTitle().text
end
if (s == nil) or (s == "") then
-- This text returns an error that says that the Sports Reference ID is neither
-- present on Wikidata nor in the article, and categorises the page as missing
-- the Wikidata property.
return "<span class='error'>Sports Reference ID is neither present in Wikidata nor the article!</span> \
[[Template:Sports-reference#Add ID in Wikidata|How do I fix this?]]\
[[Category:Sports Reference ID not in Wikidata]]"
else
-- This is the text that is returned if there is a Sports Reference ID on Wikidata or in the article.
return "[https://www.sports-reference.com/olympics/athletes/" .. s .. ".html " .. label .. "] at [[Sports Reference]]"
end
end
local p = {}
function p.link(frame)
-- This is a check to see if the optional first parameter contains ".html". If it does, remove it.
id = string.gsub((frame.args[1] or ""), ".html", "")
if not mw.wikibase then
return linktext(id)
end
local entity = mw.wikibase.getEntityObject()
if not entity then
-- Category for articles that don't have items in Wikidata.
return linktext(id) .. "[[Category:Articles without Wikidata item]]"
end
local claims = entity.claims or {}
local hasProp = claims["P1447"]
if not hasProp then
-- Category for articles that don't have the Sports Reference ID property on Wikidata.
return linktext(id) .. "[[Category:Sports Reference ID not in Wikidata]]"
end
local propValue = hasProp[1].mainsnak.datavalue.value
return linktext(propValue)
end
return p