پودمان:HS listed building

از ویکی‌پدیا، دانشنامهٔ آزاد
توضیحات پودمان[ایجاد] [پاکسازی]
require('Module:No globals')
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 coordFrame, coordText
	if args.lat then
		if not coord then
			coord = require('Module:Coordinates').coord
		end
		coordFrame = frame:newChild{title = 'Module:Coordinates', args = {args.lat, args.lon, format = 'dms', display = 'inline', name = delinkedName}}
		coordText = coord(coordFrame) .. frame:callParserFunction('#coordinates', {args.lat, args.lon, name = delinkedName})
	else
		coordText = ''
	end
	printf('| %s\n', coordText)
	printf('| class="note" | %s\n', args.notes or '')
	printf('| class="uid" | [http://data.historic-scotland.gov.uk/pls/htmldb/f?p=2200:15:0::::BUILDING:%s %s]\n', args.hb or '', args.hb or '')
	if args.image then
		printf(
			' |[[File:%s|150x150px|%s]]<p class="plainlinks" style="margin: 0 auto;"><small>[//commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlm-gb-sct&id=%s&descriptionlang=fa&description=%s&lat=%s&lon=%s&categories=%s بارگذاری تصویری دیگر]</small><br><small>%s</small></p>\n',
			args.image or '',
			args.name or '',
			mw.uri.encode(args.hb or ''),
			mw.uri.encode(delinkedName),
			args.lat or '',
			args.lon or '',
			mw.uri.encode(args.commonscat or ''),
			args.commonscat and ('[[:commons:Category:' .. args.commonscat .. '|مشاهده تصاویر بیشتر]]') 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