モジュール:東文研
表示
local p = {}
function p.error ( message )
return '<strong class="error">エラー:' ..message ..'</strong>'
end
function p.main( frame )
local args = require( 'Module:Arguments' ).getArgs( frame, { wrappers = 'Template:東文研', removeBlanks = false })
-- 入力引数
local label = args.label or args[1] or ''
local id = args.id or args[2] or ''
local title = args.title or args[3] or ''
local switch = args.switch or args[4] or ''
local date = args.date or args[5] or ''
local accessdate = args.accessdate or args[6] or ''
local from = args.from or args[7] or ''
-- 引数を元にいろいろ判定・追記処理
if id == '' then
id = frame:preprocess('{{#Property:P5567|from=' ..from ..'}}')
if id == '' then
return p.error('引数2またはidが入力されていません。')
end
end
id = id ..'.html'
-- default label(ラベル処理)
if label == '' or label == '物故' then
label = 'bukko'
elseif label == '年史' then
label = 'nenshi'
elseif label == 'kuroda' or label == '黒田' or label == '黒田日記' or label == '黒田清輝日記' then
label = 'kuroda_diary'
elseif label == '白馬会' then
label = 'hakuba'
end
-- author(執筆者)
local author = ({
bukko = '[[東京文化財研究所]]刊「日本美術年鑑」より',
nenshi = '[[東京文化財研究所]]刊「日本美術年鑑」より',
nenki = '「日本絵画史年紀資料集成 十―十四世紀」(1979年)および「日本絵画史年紀資料集成 十五世紀」(2011年)ほか(データベース作成:[[東京文化財研究所]])',
kuroda_diary = '[[中央公論美術出版]]刊『[[黒田清輝]]日記』より(データベース作成:[[東京文化財研究所]])',
hakuba = '植野健造作成白馬会関係新聞記事一覧より(データベース作成:[[東京文化財研究所]])',
})[label]
if author == nil then
return p.error('labelの入力文字列が指定外です。')
end
author = author ..':'
label = label ..'/'
-- 表示タイトル(省略されていれば{{PAGENAME}})
if title == '' then
title = frame:preprocess('{{PAGENAME}}')
end
-- 執筆日
if date ~= '' then
date = '(' ..frame:preprocess('{{Citation/showdate|' ..date ..'}}') ..')、'
end
-- 閲覧日
if accessdate ~= '' then
accessdate = frame:preprocess('{{accessdate|' ..accessdate ..'}}')
end
-- テンプレートに返す文字列を整形
local link = '[https://www.tobunken.go.jp/materials/' ..label ..id ..' ' ..title ..']'
if switch == '' then
return link ..' - [[東京文化財研究所]]'
else
return author ..'「' ..link ..'」' ..date ..accessdate
end
end
return p