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. |