跳转到内容

Module:If preview:修订间差异

勤求古训,博采众方
删除的内容 添加的内容
创建 If preview(零依赖版,繁体中文文案转简体)
 
升级为 enwiki 全功能版:getArgs + yn() + warn/consoleWarning
 
第1行: 第1行:
local p = {}
local p = {}
local getArgs = require('Module:Arguments').getArgs

local yn = require('Module:Yesno')
local cfg = mw.loadData('Module:If preview/configuration')
local cfg = mw.loadData('Module:If preview/configuration')


function p.main(frame)
function p.main(frame)
local args = getArgs(frame)
if cfg.preview then
if cfg.preview then
return frame.args[1] or ''
return args[1] or ''
else
else
return frame.args[2] or ''
return args[2] or ''
end
end
end
end
第29行: 第31行:
end
end
if not cfg.preview then return '' end
if not cfg.preview then return '' end
if yn(args['consolewarning']) then
mw.addWarning(args[1] or cfg.missing_warning)
end
return warning_text(warning)
return warning_text(warning)
end
end


function p.pwarning(frame)
function p.pwarning(frame)
local args = getArgs(frame)
return p._warning(frame:getParent().args)
return p._warning(args)
end

function p.warn(text)
if text == nil or text == '' then return '' end
mw.addWarning(text)
return p._warning({text})
end

function p.consoleWarning(frame)
local args = getArgs(frame)
mw.addWarning(args[1] or cfg.missing_warning)
return ''
end
end



2026年6月21日 (日) 14:07的最新版本

local p = {}
local getArgs = require('Module:Arguments').getArgs
local yn = require('Module:Yesno')
local cfg = mw.loadData('Module:If preview/configuration')

function p.main(frame)
	local args = getArgs(frame)
	if cfg.preview then
		return args[1] or ''
	else
		return args[2] or ''
	end
end

function p.pmain(frame)
	return p.main(frame:getParent())
end

local function warning_text(warning)
	return mw.ustring.format(
		cfg.warning_infrastructure,
		cfg.templatestyles,
		warning
	)
end

function p._warning(args)
	local warning = args[1] and args[1]:match('^%s*(.-)%s*$') or ''
	if warning == '' then
		return warning_text(cfg.missing_warning)
	end
	if not cfg.preview then return '' end
	if yn(args['consolewarning']) then
		mw.addWarning(args[1] or cfg.missing_warning)
	end
	return warning_text(warning)
end

function p.pwarning(frame)
	local args = getArgs(frame)
	return p._warning(args)
end

function p.warn(text)
	if text == nil or text == '' then return '' end
	mw.addWarning(text)
	return p._warning({text})
end

function p.consoleWarning(frame)
	local args = getArgs(frame)
	mw.addWarning(args[1] or cfg.missing_warning)
	return ''
end

return p