モジュール:外部移入

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:外部移入/doc 』 から呼び出されています。
{{外部移入}}の内部モジュール。

local p = {}

function p._error( message )
	return '<strong class="error">エラー:' ..message ..'</strong>'
end

function p.main( frame )
	local args = require('Module:Arguments').getArgs(frame, {removeBlanks = false})
	local namespace = args.namespace or ''
	if namespace == '' then
		namespace = frame:preprocess('{{NAMESPACE}}')
	end
	local interwiki = args.interwiki or ''
	if interwiki == '' then
		interwiki = 'jawp'
	end
	local link = args.link or ''
	if link == '' then
		if interwiki ~= 'none' then
			link = '[[' ..interwiki ..':' ..frame:preprocess('{{FULLPAGENAME}}') ..']]'
		else
			return p._error('リンク元情報が生成出来ません。')
		end
	elseif string.find( link, '://' ) == nil then
		link = '[[' ..link ..']]'
	end
	local hist = args.hist or ''
	if hist ~= '' then
		hist = '(' ..hist ..'の版)'
	end
	local readme = args.readme or ''

	return p._table( namespace, link, hist, interwiki, readme )
end

function p._table( namespace, link, hist, interwiki, readme )
	local pic = '[[ファイル:Wikipedia Importation.png|100px]]<br />'
	local label = ({
		jawp = pic ..'[[ウィキペディア (日本語版)|ウィキペディア移入]]',
		wp = pic ..'[[ウィキペディア|ウィキペディア移入]]',
	})[interwiki]
	if label == nil then
		label = '外部移入<br />コンテンツ'
	end

	local use = ''
	if readme == '不要' then
		use = '<br />この' ..namespace ..'に使用法説明はありません。'
	elseif readme ~= '' then
		if string.find( readme, '://' ) == nil then
			use = '<br />使用方法は<code>[[' ..readme ..']]</code>を参照して下さい。'
		else
			use = '<br />使用方法は<code>' ..readme ..'</code>を参照して下さい。'
		end
	end

	local header = '<div style="width: 90%; border: 1px solid #000; background: #fff; margin: 0 auto;">' -- 外枠
		..'<table style="width: 100%; font-size: 90%;"><tr>' -- 内枠テーブル開始
		..'<td style="width: 10%; vertical-align: middle; text-align: center; font-weight: bold;">' ..label ..'</td>' -- 左

	local text = '<td><div style="font-size: 100%; background: #dfd; font-weight: bold; font-size: 110^;">外部移入' ..namespace ..'</div>'
		..'この' ..namespace ..'の初版は<span style="font-size: 110%;"><code>' ..link ..hist ..'</code></span>より移入されました。' ..use ..'</td>'

	local footer = '<td style="width: 10%; vertical-align: middle; text-align: center; font-weight: bold;">転記元情報</td>' --右
		..'</tr></table></div>' --footer

	return header ..text ..footer
end

return p