模組:沙盒/Sunny00217/Bluelibrary

维基百科,自由的百科全书
文档图示 模块文档[创建]
--User:Bluedeck/infr/library.card.js
local p = {}

local function argname( k )
	local arglist = {
		["time"] = "存檔時間",
		["credit"] = "页面作者",
		["archiver"] = "存档编者",
		["revid"] = "版本号",
		["pageid"] = "页面编号",
	}
	if not v.preprocessed then
		text = frame:preprocess( text )
	end
	return mw.text.trim( text ) .. '\n'
end

function main ( frame, args )
	local existpagestyle = 'max-width: 700px; margin:1em 0; font:100% Times;line-height:1.3em;border-radius:0em;padding:2em 4em;box-shadow:0 2px 9px #ace;background:linear-gradient(40deg,#396cdb,#2c58cc 60%,#39f 60%,#4dbeff 75%,#3df 75%,#3cf);color:#fff;'
	local noexistpagestyle = 'max-width: 700px; margin:1em 0; font:100% Times;line-height:1.3em;border-radius:0em;padding:2em 4em;box-shadow:0 2px 9px #faa;background:linear-gradient(40deg,#fb2c69, #e00030 60%,#ff7733 60%,#ff904d 75%,#ff3366 75%,#ff6699);color:#fff;'
	local ifexistpage = frame:preprocess('{{#ifexist:' .. arg[1] .. '|' .. 1 .. '|' .. nil .. '}}')
	local wt = {'__NOINDEX__'}
	if ifexistpage then
		table.insert( wt, '<div style="' .. existpagestyle .. '">' )
	else
		table.insert( wt, '<div style="' .. noexistpagestyle .. '">' )
	end
	table.insert( wt, '<div style="width:40%; position:relative;border:0" class="NavFrame collapsed"><div style="position:absolute;"><strong>Bluedeck Library 图书馆卡</strong></div>\n<div class="NavHead" style="opacity:0"><strong>Bluedeck Library 图书馆卡</strong></div>\n<div class="NavContent">\n<div style="height: 0.7em;"></div>\n<div>本页面为“[[:' .. arg[1] .. ']]”的存档,' )
	if ifexistpage then
		table.insert( wt, '可能和当前版本有所不同。' )
	else
		table.insert( wt, '该页面已遭删除,本页面仅供参考用。' )
	end
	table.insert( wt, '</div>\n<div style="height: 0.7em;"></div>\n{|\n' )
	local archiver = 0
	for k, v in ipairs( args ) do
		if ((k == 'time')
			or (k == 'credit')
			or (k == 'archiver')
			or (k == 'revid')
			or (k == 'pageid'))
		then
			table.insert( wt, '|-\n|' .. argname( k ) .. '||' .. v .. '\n' )
			if k == 'archiver' then
				archiver = 1
			end
		end
	end
end

return p