Medoke (обсуждение | вклад) мНет описания правки |
Medoke (обсуждение | вклад) мНет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 14: | Строка 14: | ||
local subpage = function( page ) return hero .. '/' .. page end |
local subpage = function( page ) return hero .. '/' .. page end |
||
local custom = function( number ) if args['custom' .. number] then return subpage( args['custom' .. number] ) end end |
local custom = function( number ) if args['custom' .. number] then return subpage( args['custom' .. number] ) end end |
||
− | local bugs = function () if mw.title.new( subpage( 'Баги' ) ).exists then return subpage( 'Баги' ) end end |
||
local tabs = { |
local tabs = { |
||
Строка 34: | Строка 33: | ||
['name5'] = 'Принадлежности', |
['name5'] = 'Принадлежности', |
||
− | ['link6'] = subpage( ' |
+ | ['link6'] = subpage( 'Таланты' ), |
− | ['name6'] = ' |
+ | ['name6'] = 'Таланты', |
+ | |||
+ | ['link7'] = subpage( 'Реликвии' ), |
||
+ | ['name7'] = 'Реликвии', |
||
− | [' |
+ | ['link8'] = subpage( 'Реплики' ), |
− | [' |
+ | ['name8'] = 'Реплики', |
− | [' |
+ | ['link9'] = subpage( 'Звуки' ), |
− | [' |
+ | ['name9'] = 'Звуки', |
− | [' |
+ | ['link10'] = subpage( 'История' ), |
− | [' |
+ | ['name10'] = 'История', |
− | [' |
+ | ['link11'] = custom( '1' ), |
− | [' |
+ | ['name11'] = args['custom1'], |
− | [' |
+ | ['link12'] = custom( '2' ), |
− | [' |
+ | ['name12'] = args['custom2'], |
− | [' |
+ | ['link13'] = subpage( 'Старые способности' ), |
− | [' |
+ | ['name13'] = 'Старые способности', |
− | [' |
+ | ['link14'] = subpage( 'Изменения' ), |
− | [' |
+ | ['name14'] = 'Изменения', |
− | [' |
+ | ['link15'] = subpage( 'Неисправности' ), |
− | [' |
+ | ['name15'] = 'Известные неисправности', |
} |
} |
||
Версия от 23:36, 8 февраля 2021
▶️
Planeshift.
Документацию для этого шаблона или модуля можно найти в Шаблон:Tabber.
Вы можете быть перенаправлены на другой язык вики, если перевод недоступен.
Зависимости
local p = {}
local getArgs = require( 'Модуль:Arguments' ).getArgs
-- Implements Template:Tabs Hero.
function p.hero(frame)
local args = getArgs(frame, {
wrappers = {
'Шаблон:Tabs Hero'
}
})
local hero = args[1] or mw.title.getCurrentTitle().baseText -- Use {{BASEPAGENAME}} if no page is given.
local subpage = function( page ) return hero .. '/' .. page end
local custom = function( number ) if args['custom' .. number] then return subpage( args['custom' .. number] ) end end
local tabs = {
['this'] = args['this'],
['link1'] = hero,
['name1'] = 'Герой',
['link2'] = subpage( 'Руководство' ),
['name2'] = 'Руководство',
['link3'] = subpage( 'Противостоящие' ),
['name3'] = 'Противостоящие',
['link4'] = subpage( 'Снаряжение' ),
['name4'] = 'Снаряжение',
['link5'] = subpage( 'Принадлежности' ),
['name5'] = 'Принадлежности',
['link6'] = subpage( 'Таланты' ),
['name6'] = 'Таланты',
['link7'] = subpage( 'Реликвии' ),
['name7'] = 'Реликвии',
['link8'] = subpage( 'Реплики' ),
['name8'] = 'Реплики',
['link9'] = subpage( 'Звуки' ),
['name9'] = 'Звуки',
['link10'] = subpage( 'История' ),
['name10'] = 'История',
['link11'] = custom( '1' ),
['name11'] = args['custom1'],
['link12'] = custom( '2' ),
['name12'] = args['custom2'],
['link13'] = subpage( 'Старые способности' ),
['name13'] = 'Старые способности',
['link14'] = subpage( 'Изменения' ),
['name14'] = 'Изменения',
['link15'] = subpage( 'Неисправности' ),
['name15'] = 'Известные неисправности',
}
return p._main( tabs )
end
-- Implements Template:Tabber.
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Шаблон:Tabber'
}
})
return p._main( args )
end
function p._main( args )
local current_page = args['this'] or mw.title.getCurrentTitle().prefixedText
local rows = {}
for n=1,15 do
if args['link' .. n] then
-- Use the link as the name if none is given.
local name = args['name' .. n] or args['link' .. n]
if args['link' .. n] == current_page then
-- The active tab.
table.insert( rows, string.format( '<div class="page-tabber-tab active-tab">%s</div>', name ) )
else
-- The inactive tabs.
local link = string.format( '[[%s|%s]]', args['link' .. n], name )
table.insert( rows, string.format( '<div class="page-tabber-tab inactive-tab">%s</div>', link ) )
end
end
end
-- The separator is used for the space between two tabs.
local separator = '\n<div class="page-tabber-separator"> </div>\n'
-- The tail fills the space between the last tab and the end of the line.
local tail = '<div class="page-tabber-separator tail"> </div>'
return string.format( '<div id="pageTabber" class="page-tabber">\n%s\n%s\n</div>', table.concat( rows, separator ), tail )
end
return p