۵٬۱۲۵
ویرایش
جز (۱ نسخه واردشده) |
بدون خلاصۀ ویرایش |
||
خط ۱۰: | خط ۱۰: | ||
local args | local args | ||
local border | local border | ||
local listnums | local listnums = {} | ||
local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' | local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' | ||
local RESTART_MARKER = '\127_ODDEVEN0_\127' | local RESTART_MARKER = '\127_ODDEVEN0_\127' | ||
خط ۲۰: | خط ۲۰: | ||
-- by parent navboxes. The result is that the category shows all pages | -- by parent navboxes. The result is that the category shows all pages | ||
-- where a child navbox is not contained in a parent navbox. | -- where a child navbox is not contained in a parent navbox. | ||
local orphanCat = '[[ | local orphanCat = '[[رده:جعبههای ناوبری یتیم]]' | ||
if border == 'subgroup' and args.orphan ~= 'yes' then | if border == 'subgroup' and args.orphan ~= 'yes' then | ||
-- No change; striping occurs in outermost navbox. | -- No change; striping occurs in outermost navbox. | ||
خط ۸۱: | خط ۸۱: | ||
local function renderNavBar(titleCell) | local function renderNavBar(titleCell) | ||
if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == ' | if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'الگو:Navbox') then | ||
titleCell:wikitext(navbar{ | titleCell:wikitext(navbar{ | ||
args.name, | args.name, | ||
mini = 1, | mini = 1, | ||
fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none | fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;' | ||
}) | }) | ||
end | end | ||
خط ۱۱۵: | خط ۱۱۵: | ||
if args.titlegroup then | if args.titlegroup then | ||
titleCell | titleCell | ||
:css('border- | :css('border-right', '2px solid #fdfdfd') | ||
:css('width', '100%') | :css('width', '100%') | ||
end | end | ||
local titleColspan = 2 | local titleColspan = 2 | ||
if args. | if args.imageright then titleColspan = titleColspan + 1 end | ||
if args.image then titleColspan = titleColspan + 1 end | if args.image then titleColspan = titleColspan + 1 end | ||
if args.titlegroup then titleColspan = titleColspan - 1 end | if args.titlegroup then titleColspan = titleColspan - 1 end | ||
خط ۱۳۴: | خط ۱۳۴: | ||
titleCell | titleCell | ||
:tag('div') | :tag('div') | ||
:attr('id', mw.uri.anchorEncode(args.title)) | :attr('id', mw.uri.anchorEncode(args.title)) | ||
:addClass(args.titleclass) | :addClass(args.titleclass) | ||
خط ۱۴۸: | خط ۱۴۷: | ||
local function getAboveBelowColspan() | local function getAboveBelowColspan() | ||
local ret = 2 | local ret = 2 | ||
if args. | if args.imageright then ret = ret + 1 end | ||
if args.image then ret = ret + 1 end | if args.image then ret = ret + 1 end | ||
return ret | return ret | ||
خط ۱۶۴: | خط ۱۶۳: | ||
:attr('colspan', getAboveBelowColspan()) | :attr('colspan', getAboveBelowColspan()) | ||
:tag('div') | :tag('div') | ||
:wikitext(processItem(args.above, args.nowrapitems)) | :wikitext(processItem(args.above, args.nowrapitems)) | ||
end | end | ||
خط ۱۸۹: | خط ۱۸۶: | ||
local row = tbl:tag('tr') | local row = tbl:tag('tr') | ||
if index == 1 and args. | if index == 1 and args.imageright then | ||
row | row | ||
:tag('td') | :tag('td') | ||
خط ۱۹۶: | خط ۱۹۳: | ||
:css('width', '1px') -- Minimize width | :css('width', '1px') -- Minimize width | ||
:css('padding', '0px 2px 0px 0px') | :css('padding', '0px 2px 0px 0px') | ||
:cssText(args. | :cssText(args.imagerightstyle) | ||
:attr('rowspan', #listnums) | :attr('rowspan', #listnums) | ||
:tag('div') | :tag('div') | ||
:wikitext(processItem(args. | :wikitext(processItem(args.imageright)) | ||
end | end | ||
if args['group' .. listnum] then | if args['group' .. listnum] then | ||
local groupCell = row:tag('th') | local groupCell = row:tag('th') | ||
groupCell | groupCell | ||
خط ۲۱۶: | خط ۲۰۷: | ||
:addClass(args.groupclass) | :addClass(args.groupclass) | ||
:cssText(args.basestyle) | :cssText(args.basestyle) | ||
:css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width | |||
groupCell | groupCell | ||
خط ۲۲۸: | خط ۲۱۹: | ||
if args['group' .. listnum] then | if args['group' .. listnum] then | ||
listCell | listCell | ||
:css('text-align', ' | :css('text-align', 'right') | ||
:css('border- | :css('border-right-width', '2px') | ||
:css('border- | :css('border-right-style', 'solid') | ||
else | else | ||
listCell:attr('colspan', 2) | listCell:attr('colspan', 2) | ||
خط ۲۶۰: | خط ۲۵۱: | ||
:addClass('navbox-' .. oddEven) | :addClass('navbox-' .. oddEven) | ||
:addClass(args.listclass) | :addClass(args.listclass) | ||
:tag('div') | :tag('div') | ||
:css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') | :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') | ||
خط ۲۹۷: | خط ۲۸۷: | ||
local function hasBackgroundColors() | local function hasBackgroundColors() | ||
for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle | for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do | ||
if tostring(args[key]):find('background', 1, true) then | if tostring(args[key]):find('background', 1, true) then | ||
return true | return true | ||
end | end | ||
خط ۳۲۷: | خط ۳۰۹: | ||
local function getTrackingCategories() | local function getTrackingCategories() | ||
local cats = {} | local cats = {} | ||
if needsHorizontalLists() then table.insert(cats, ' | if needsHorizontalLists() then table.insert(cats, 'ناوباکسهای بدون فهرست افقی') end | ||
if hasBackgroundColors() then table.insert(cats, ' | if hasBackgroundColors() then table.insert(cats, 'جعبههای ناوبری با استفاده از رنگهای پسزمینه') end | ||
if isIllegible() then table.insert(cats, ' | if isIllegible() then table.insert(cats, 'ناوبری ناخوانا') end | ||
return cats | return cats | ||
end | end | ||
خط ۳۳۸: | خط ۳۱۹: | ||
if title.namespace ~= 10 then return end -- not in template space | if title.namespace ~= 10 then return end -- not in template space | ||
local subpage = title.subpageText | local subpage = title.subpageText | ||
if subpage == ' | if subpage == 'توضیحات' or subpage == 'تمرین' or subpage == 'آزمایشی' then return end | ||
for _, cat in ipairs(getTrackingCategories()) do | for _, cat in ipairs(getTrackingCategories()) do | ||
builder:wikitext('[[ | builder:wikitext('[[رده:' .. cat .. ']]') | ||
end | end | ||
end | end | ||
خط ۳۵۴: | خط ۳۳۵: | ||
if args.title and (args.state ~= 'plain' and args.state ~= 'off') then | if args.title and (args.state ~= 'plain' and args.state ~= 'off') then | ||
tbl | tbl | ||
:addClass(' | :addClass('collapsible') | ||
:addClass(args.state or 'autocollapse') | :addClass(args.state or 'autocollapse') | ||
end | end | ||
خط ۳۸۶: | خط ۳۶۶: | ||
function p._navbox(navboxArgs) | function p._navbox(navboxArgs) | ||
args = navboxArgs | args = navboxArgs | ||
for k, _ in pairs(args) do | for k, _ in pairs(args) do | ||
خط ۴۱۰: | خط ۳۸۹: | ||
:attr('role', 'navigation') | :attr('role', 'navigation') | ||
:node(tbl) | :node(tbl) | ||
if args.title then | |||
if args.title | nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) | ||
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title | |||
else | else | ||
nav:attr('aria-label', 'Navbox') | nav:attr('aria-label', 'Navbox') | ||
خط ۴۲۸: | خط ۴۰۶: | ||
:attr('role', 'navigation') | :attr('role', 'navigation') | ||
:addClass('navbox') | :addClass('navbox') | ||
:cssText(args.bodystyle) | :cssText(args.bodystyle) | ||
:cssText(args.style) | :cssText(args.style) | ||
:css('padding', '3px') | :css('padding', '3px') | ||
:node(tbl) | :node(tbl) | ||
if args.title then | |||
if args.title | nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) | ||
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title | |||
else | else | ||
nav:attr('aria-label', 'Navbox') | nav:attr('aria-label', 'Navbox') | ||
خط ۴۴۱: | خط ۴۱۷: | ||
end | end | ||
renderTrackingCategories(res) | |||
return striped(tostring(res)) | return striped(tostring(res)) | ||
end | end | ||
خط ۴۵۱: | خط ۴۲۶: | ||
getArgs = require('Module:Arguments').getArgs | getArgs = require('Module:Arguments').getArgs | ||
end | end | ||
args = getArgs(frame, {wrappers = | args = getArgs(frame, {wrappers = 'الگو:Navbox'}) | ||
-- Read the arguments in the order they'll be output in, to make references number in the right order. | -- Read the arguments in the order they'll be output in, to make references number in the right order. |
ویرایش