Module:Official website: Difference between revisions

m
1 revision imported
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
return '<strong class="error">' ..
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 url = args[1] or args.URL or args.url or wikidataurl
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',
mobile = args.mobile,
format = args.format,
format = args.format
mobile = args.mobile
}
}
return formattedUrl .. renderTrackingCategory(url, wikidataurl)
return formattedUrl .. renderTrackingCategory(url, wikidataurl)