跳转到内容

模組:NoticeBoxUtil

维基百科,自由的百科全书

这是本页的一个历史版本,由A2569875留言 | 贡献2023年12月24日 (日) 14:53 建立内容为“local p = {} local lib_doc = require("Module:Documentation") function p.processInput(input_data, default_value) local retult = input_data if type((input_data or {}).args) ~= type(nil) then --input_data is a frame retult = input_data.args['1'] or input_data.args[1] or default_value end return retult end function p.makeSandboxTitle(input_data, page_tail) local str_page_tail = page_tail or "sandbox" local re_page_tail = "/"..str_page_tai…”的新页面)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
local p = {}
local lib_doc = require("Module:Documentation")

function p.processInput(input_data, default_value)
	local retult = input_data
	if type((input_data or {}).args) ~= type(nil) then --input_data is a frame
		retult = input_data.args['1'] or input_data.args[1] or default_value
	end
	return retult
end

function p.makeSandboxTitle(input_data, page_tail)
	local str_page_tail = page_tail or "sandbox"
	local re_page_tail = "/"..str_page_tail.."$"
	local text = p.processInput(input_data, "")
	local i, j = mw.ustring.find(text, re_page_tail)
	i = i or -1
	i = mw.ustring.sub(text, i, i) == '/' and (i-1) or i
	return mw.ustring.sub(text, 1, i).."/"..str_page_tail
end

function p.makeSandboxNotice(input_data)
	local current_title_name = p.processInput(input_data)
	local current_title = (type(current_title_name) ~= type(nil)) and ({pcall(mw.title.new, current_title_name)})[2] or mw.title.getCurrentTitle()
	if current_title:inNamespace(mw.title.new("title").namespace) then
		current_title = current_title.talkPageTitle
	end
	local sandbox_title = p.makeSandboxTitle(current_title.fullText)
	local lib_doc = require("Module:Documentation")
	local args = {page=sandbox_title}
	local env = lib_doc.getEnvironment(args)
	mw.log(lib_doc.sandboxNotice(args, env))
	return ""
end

return p