模組:沙盒/a2569875/Test5

本页使用了标题或全文手工转换
维基百科,自由的百科全书

1

  • 001u2573x48 0
  • 123
文档图示 模块文档[查看] [编辑] [历史] [清除缓存]

Scribunto

local p={}

require('Module:Module wikitext')._addText('==1==\n*001\u2573\x48\t0\n*123\n')

--{{#invoke:沙盒/a2569875/Test5|contentModel}}
function p.contentModel(frame)
	local page_name = frame.args[1] or frame.args['1'] or ''
	local page_data = (mw.text.trim(page_name)==''and mw.title.getCurrentTitle() or mw.title.new(page_name))
	return page_data.contentModel
end

--{{#invoke:沙盒/a2569875/Test5|checkJSON}}
function p.checkJSON(frame)
	local page_name = frame.args[1] or frame.args['1'] or ''
	local page_data = (mw.text.trim(page_name)==''and mw.title.getCurrentTitle() or mw.title.new(page_name))
	if mw.ustring.lower(page_data.contentModel)=='json' then
		local wikitext = require('Module:Special wikitext').getJSONwikitext(page_data:getContent())
		local cats = require('Module:Delcat').find_category(wikitext)
		return '"'.. page_data.fullText ..'":['..table.concat( cats, ',')..']'
	end
	return ''
end

--{{#invoke:沙盒/a2569875/Test5|checkPage}}
function p.checkPage(frame)
	local chk_name = frame.args[1] or frame.args['1'] or ''
	local cur_name = frame.args[2] or frame.args['2'] or ''
	if mw.text.trim(chk_name or '')==''then return '' end
	return p._checkPage(chk_name, cur_name) and '1' or ''
end
function p._checkPage(page, srcpage)
	local chk_page, cur_page = mw.title.new(page), (mw.text.trim(srcpage or '')=='' and mw.title.getCurrentTitle() or mw.title.new(srcpage))
	local chk_name, cur_name = '##:'..chk_page.fullText, '##:'..cur_page.fullText
	local chk_reg = mw.ustring.gsub(chk_name,'([%%\\])','%1%1')
	local chk_regs, cur_names = chk_reg..(mw.ustring.sub(chk_reg,-1,-1)=='/'and''or'/'), cur_name..(mw.ustring.sub(cur_name,-1,-1)=='/'and''or'/')
	local findpos = mw.ustring.find(cur_name, chk_reg)
	if (tonumber(findpos) or -1) > 0 then findpos = mw.ustring.find(cur_names, chk_regs)end
	return (tonumber(findpos) or -1) > 0
end

return p;