Line 23:
Line 23:
local current_page = mw.title.getCurrentTitle()
local current_page = mw.title.getCurrentTitle()
local page_name = mw.uri.encode( current_page.prefixedText, 'WIKI' );
local page_name = mw.uri.encode( current_page.prefixedText, 'WIKI' );
−
local coord_link = '//tools.wmflabs.org/geohack/geohack.php?pagename=' .. page_name .. '¶ms='
+
local coord_link = '//geohack.toolforge.org/geohack.php?pagename=' .. page_name .. '¶ms='
+
local templatestyles = 'Module:Coordinates/styles.css'
--[[ Helper function, replacement for {{coord/display/title}} ]]
--[[ Helper function, replacement for {{coord/display/title}} ]]
Line 156:
Line 157:
end
end
−
return '<span class="plainlinks nourlexpansion">' ..
+
return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} }
−
'[' .. coord_link .. uriComponents .. ' ' .. inner .. ']' .. '</span>'
+
.. '<span class="plainlinks nourlexpansion">'
+
.. '[' .. coord_link .. uriComponents .. ' ' .. inner .. ']'
+
.. '</span>'
end
end
Line 464:
Line 467:
else
else
-- Error
-- Error
−
return errorPrinter({{"formatTest", "Unknown argument format"}})
+
return errorPrinter({{"formatTest", "Unknown argument format"}}) .. '[[Category:Pages with malformed coordinate tags]]'
end
end
result.name = args.name
result.name = args.name
Line 487:
Line 490:
local function makeWikidataCategories(qid)
local function makeWikidataCategories(qid)
local ret
local ret
+
local qid = qid or mw.wikibase.getEntityIdForCurrentPage()
if mw.wikibase and current_page.namespace == 0 then
if mw.wikibase and current_page.namespace == 0 then
−
local entity = qid and mw.wikibase.getEntityObject(qid) or mw.wikibase.getEntityObject()
+
if qid and mw.wikibase.entityExists(qid) and mw.wikibase.getBestStatements(qid, "P625") and mw.wikibase.getBestStatements(qid, "P625")[1] then
−
if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1] then
+
local snaktype = mw.wikibase.getBestStatements(qid, "P625")[1].mainsnak.snaktype
−
local snaktype = entity.claims.P625[1].mainsnak.snaktype
if snaktype == 'value' then
if snaktype == 'value' then
-- coordinates exist both here and on Wikidata, and can be compared.
-- coordinates exist both here and on Wikidata, and can be compared.