9,183
edits
m (1 revision imported) |
m (1 revision imported) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 71: | Line 71: | ||
return e1 | return e1 | ||
end | end | ||
return ws1._index < ws2._index | return ws1._index < ws2._index | ||
end) | end) | ||
local url = quickPcall(function () | local url = quickPcall(function () | ||
Line 87: | Line 87: | ||
-- Render the URL link, plus other visible output. | -- Render the URL link, plus other visible output. | ||
local function renderUrl(options) | local function renderUrl(options) | ||
if not options.url then | if not options.url and not options.wikidataurl then | ||
local entity = mw.wikibase.getEntityObject() or {} | |||
local qid = entity.id | |||
local result = '<strong class="error">' .. | |||
'No URL found. Please specify a URL here or add one to Wikidata.' .. | 'No URL found. Please specify a URL here or add one to Wikidata.' .. | ||
'</strong>' | '</strong>' | ||
if qid then | |||
result = result.. ' [[File:Blue pencil.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' | |||
end | |||
return result | |||
end | end | ||
local ret = {} | local ret = {} | ||
ret[#ret + 1] = string.format( | ret[#ret + 1] = string.format( | ||
'<span class="official-website">%s</span>', | '<span class="official-website">%s</span>', | ||
makeUrl(options.url, options.display) | makeUrl(options.url or options.wikidataurl, options.display) | ||
) | ) | ||
if options.wikidataurl and not options.url then | |||
local entity = mw.wikibase.getEntityObject() or {} | |||
local qid = entity.id | |||
if qid then | |||
ret[#ret + 1] = '[[File:Blue pencil.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' | |||
end | |||
end | |||
if options.format == 'flash' then | if options.format == 'flash' then | ||
ret[#ret + 1] = mw.getCurrentFrame():expandTemplate{ | ret[#ret + 1] = mw.getCurrentFrame():expandTemplate{ | ||
Line 117: | Line 130: | ||
if not url and not wikidataurl then | if not url and not wikidataurl then | ||
category = 'Official website missing URL' | category = 'Official website missing URL' | ||
elseif not url and wikidataurl then | elseif not url and wikidataurl then | ||
return '' | return '' | ||
elseif url and wikidataurl then | elseif url and wikidataurl then | ||
Line 130: | Line 143: | ||
function p._main(args) | function p._main(args) | ||
local url = args[1] or args.URL or args.url | |||
local wikidataurl = fetchWikidataUrl() | local wikidataurl = fetchWikidataUrl() | ||
local formattedUrl = renderUrl{ | local formattedUrl = renderUrl{ | ||
url = url, | url = url, | ||
wikidataurl = wikidataurl, | |||
display = args[2] or args.name or 'Official website', | display = args[2] or args.name or 'Official website', | ||
format = args.format, | |||
mobile = args.mobile | |||
} | } | ||
return formattedUrl .. renderTrackingCategory(url, wikidataurl) | return formattedUrl .. renderTrackingCategory(url, wikidataurl) |