모듈:Plain sister
모듈 설명문서[만들기]
이 모듈에 대한 설명문서를 생성할 수 있습니다. 연습장 (생성 | 복제) 및 시험장 (생성) 문서에서 이 모듈을 실험할 수 있습니다. 분류는 /설명문서 하위 문서에 넣어주세요. 이 모듈에 딸린 문서. |
local p = {}
local sites = { -- interwiki prefix, parameter, label and site id (for Wikidata)
{ 'w', '위키백과', '위키백과 문서', 'kowiki' },
{ 'commons', '공용', '공용 갤러리', 'commonswiki' },
{ 'commons:Category', '공용분류', '공용 분류', '' },
{ 'q', '위키인용집', '인용', 'kowikiquote' },
{ 'n', '위키뉴스', '뉴스', 'kowikinews' },
{ 'wikt', '위키낱말사전', '사전 정의', 'kowiktionary' },
{ 'b', '위키책', '교과서', 'kowikibooks' },
{ 'v', '위키배움터', '교육 과정', 'kowikiversity' },
{ 'wikispecies', '위키생물종', '생물 분류', 'specieswiki' },
{ 'voy', '위키여행', '여행 가이드', 'enwikivoyage' },
{ 'd', '위키데이터', '위키데이터 항목', 'wikidatawiki' },
{ 'bibliowiki', '비블리오위키', '비블리오위키', '' },
{ 'm', '메타', '메타', 'metawiki' }
}
function p.interprojetPart( frame )
local frame = frame:getParent()
local item = mw.wikibase.getEntityObject()
local links = {}
for _, site in pairs( sites ) do
local val = ''
if val == '' and frame.args[site[2]] ~= nil then
val = frame.args[site[2]]
end
if val == '' and site[4] ~= '' and item ~= nil then
if site[4] == 'wikidatawiki' then
val = item.id or ''
else
val = item:getSitelink( site[4] ) or ''
end
end
if val ~= '' then
table.insert( links, '[[' .. site[1] .. ':' .. val .. '|' .. site[3] .. ']]' )
end
end
if next( links ) == nil then
return ''
end
return '<li class="sisitem">'
.. '<span class="sisicon" style="padding-right:1ex;">[[File:Wikimedia-logo.svg|frameless|18px|link=]]</span>'
.. '자매 프로젝트: ' .. table.concat( links, ', ' )
.. '.</li>'
end
return p