Mô đun:Portal-inline

-- determine whether we're being called from a sandbox
local isSandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true)
local sandbox = isSandbox and '/sandbox' or ''

local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local portalModule = require('Module:Portal'..sandbox)
local getImageName = portalModule._image
local checkPortals = portalModule._checkPortals
local processPortalArgs = portalModule._processPortalArgs

local p = {}

-- Function to format error message and tracking category
-- Arguments:
--   errMsg: string, or nil/false if no error
--   trackingCat: string for tracking category (or empty string)
local function formatError(errMsg, trackingCat)
	local result = trackingCat or ''
	if errMsg then
		local errTag = mw.html.create('span')
		errTag:addClass("error")
		errTag:css("font-size",'100%')
		errTag:wikitext("Lỗi: "..errMsg)
		result = tostring(errTag)..result
	end
	return result
end

local function image(portal, args)
	local size = args.size == "tiny" and "16x16px" or "32x28px"
	return string.format('[[Tập tin:%s|class=noviewer|%s]]',getImageName(portal,true), size)
end

local function link(portal, args)
	local displayName = ""
	if not (args.text == "" or args.text == nil) then
		displayName = args.text
	elseif args.short then
		displayName = portal
	else
		displayName = "Cổng thông tin " .. portal
	end
	return string.format('[[Cổng thông tin:%s|%s]]',portal,displayName)
end

function p._main(portals, args)
	mw.logObject(args)
	
	-- Normalize all arguments
	if args.redlinks == 'include' then args.redlinks = true end
	for key, default in pairs({tracking=true,redlinks=false,short=false}) do
		if args[key] == nil then args[key] = default end
		args[key] = yesno(args[key], default)
	end
	
	local trackingCat = ''
	local errMsg = nil
	
	-- Check for existing categories, drop if not. 
	-- Possible generate tracking category & error message if needed
	args.minPortals = args.minPortals or 1
	args.maxPortals = args.maxPortals or 1
	portals, trackingCat, errMsg = checkPortals(portals,args)
	-- use more specific tracking cat for inline portal
	trackingCat = mw.ustring.gsub(trackingCat,"Bản mẫu cổng thông tin","Bản mẫu Portal-inline")
	-- either too many/few portals, or no portals left after filtering, then return
	if errMsg or #portals == 0 then
		return formatError(errMsg, trackingCat)
	end
	return mw.ustring.format('<span class="nowrap">%s </span>%s%s',
		image(portals[1],args),link(portals[1],args),(trackingCat or ''))
end

function p.main(frame)
	local origArgs = getArgs(frame)
	local portals, args = processPortalArgs(origArgs)
	return p._main(portals, args)
end

return p
Chúng tôi bán
Bài viết liên quan
Nhân vật Yamada Asaemon Sagiri -  Jigokuraku
Nhân vật Yamada Asaemon Sagiri - Jigokuraku
Yamada Asaemon Sagiri (山田やま浅だあェえも門ん 佐さ切ぎり) là Asaemon hạng 12 của gia tộc Yamada, đồng thời là con gái của cựu thủ lĩnh gia tộc, Yamada Asaemon Kichij
Thai nhi phát triển như thế nào và các bà mẹ cần chú ý gì
Thai nhi phát triển như thế nào và các bà mẹ cần chú ý gì
Sau khi mang thai, các bà mẹ tương lai đều chú ý đến sự phát triển của bào thai trong bụng
Hướng dẫn tải và cài đặt ứng dụng CH Play cho mọi iPhone, iPad
Hướng dẫn tải và cài đặt ứng dụng CH Play cho mọi iPhone, iPad
Được phát triển bởi thành viên của Group iOS CodeVn có tên Lê Tí, một ứng dụng có tên CH Play đã được thành viên này tạo ra cho phép người dùng các thiết bị sử dụng hệ điều hành iOS có thể trải nghiệm kho ứng dụng của đối thủ Android ngay trên iPhone, iPad của mình
Giới thiệu nhân vật Yuri Alpha Overlord
Giới thiệu nhân vật Yuri Alpha Overlord
Yuri Alpha (ユ リ ・ ア ル フ ァ, Yuri ・ α) là đội phó của "Pleiades Six Stars", đội chiến hầu của Lăng mộ vĩ đại Nazarick. Cô được tạo ra bởi Yamaiko, một trong ba thành viên nữ của Ainz Ooal Gown