Module:HS listed building row
Appearance
| This module is rated as ready for general use. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on help pages and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through sandbox testing rather than repeated trial-and-error editing. |
| Editing of this module by new or unregistered users is currently disabled. See the protection policy and protection log for more details. If you cannot edit this module and you wish to make a change, you can submit an edit request, discuss changes on the talk page, request unprotection, log in, or create an account. |
This module implements Template:HS listed building row. Instructions for its use can be found on the template page.
require('strict')
local genBuffer = require('Module:OutputBuffer')
local getArgs = require('Module:Arguments').getArgs
local delink = require('Module:Delink')._delink
local coord -- lazily loaded
local p = {}
function p.row(frame)
local getBuffer, print, printf = genBuffer()
local args = getArgs(frame, {wrappers = 'Template:HS listed building row'})
local delinkedName = delink{args.name}
printf('|- class="vcard %s;text-align:center"\n', args.image and 'with_image' or 'without_image')
printf('| class="fn org" | %s\n', args.name or '')
printf('| class="label" | %s\n', args.location or '')
printf('| %s\n', args.date_listed or '')
printf('| %s\n',
args.grid_ref and frame:expandTemplate{title = 'Template:Gbmappingsmall', args = {args.grid_ref}} or ''
)
local coordText
if args.lat then
if not coord then
coord = require('Module:Coordinates')._coord
end
coordText = coord{args.lat, args.lon, format = 'dms', display = 'inline', name = delinkedName}
else
coordText = ''
end
local categoryText
if args.category then
categoryText = "Category " .. args.category
else
categoryText = ''
end
printf('| %s\n', coordText)
printf('| class="note" | %s\n', args.notes or categoryText or '')
printf('| class="uid" | [https://portal.historicenvironment.scot/designation/LB%s %s]\n', args.hb or args.hbnum or '', args.hb or args.hbnum or '')
if args.image then
printf(
' |[[File:%s|150x150px|%s]]<p class="plainlinks" style="margin: 0 auto;"><small>[https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlm-gb-sct&id=%s&descriptionlang=en&description=%s&lat=%s&lon=%s&categories=%s Upload another image]</small><br><small>%s</small></p>\n',
args.image or '',
args.name or '',
mw.uri.encode(args.hb or args.hbnum or ''),
mw.uri.encode(delinkedName),
args.lat or '',
args.lon or '',
mw.uri.encode(args.commonscat or ''),
args.commonscat and ('[[:commons:Category:' .. args.commonscat .. '|See more images]]') or ''
)
else
printf('| style="vertical-align:middle;text-align:center" | %s\n',
frame:expandTemplate{title = 'Template:UploadCampaignLink', args = {campaign = 'wlm-gb-sct', id = args.hb, description = delinkedName, lat = args.lat, lon = args.lon}}
)
end
return getBuffer()
end
return p