پودمان:Infobox: تفاوت میان نسخهها
پرش به ناوبری
پرش به جستجو
اشکال مربوط به «جعبه اطلاعات تلویزیون» هم برطرف شد!
جز (۱ نسخه واردشده) |
fa.wikipedia.org>Mojtabakd (اشکال مربوط به «جعبه اطلاعات تلویزیون» هم برطرف شد!) |
||
خط ۴: | خط ۴: | ||
local root | local root | ||
local empty_row_categories = {} | local empty_row_categories = {} | ||
local category_in_empty_row_pattern = '%[%[%s*[ | local category_in_empty_row_pattern = '%[%[%s*[ر][د][ه]%s*:[^]]*]]' | ||
local has_rows = false | local has_rows = false | ||
خط ۱۷: | خط ۱۷: | ||
while slast ~= s do | while slast ~= s do | ||
slast = s | slast = s | ||
s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(%[%[%s*[ | s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(%[%[%s*[ر][د][ه]%s*:[^]]*%]%])', '%2%1') | ||
s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1') | s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1') | ||
end | end | ||
خط ۲۳: | خط ۲۳: | ||
s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') | s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') | ||
s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) | s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) | ||
if | if mw.ustring.match(s, marker) then | ||
s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') | s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') | ||
s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') | s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') | ||
خط ۹۹: | خط ۹۹: | ||
local nums = {} | local nums = {} | ||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
local num = tostring(k) | local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') | ||
if num then table.insert(nums, tonumber(num)) end | if num then table.insert(nums, tonumber(num)) end | ||
end | end | ||
خط ۱۲۷: | خط ۱۲۷: | ||
if rowArgs.data then | if rowArgs.data then | ||
root:wikitext( | root:wikitext( | ||
'[[ | '[[رده:صفحههایی که از الگوهای جعبه اطلاعات با سلولهای داده نادیده گرفتهشده استفاده میکنند]]' | ||
) | ) | ||
end | end | ||
خط ۲۵۰: | خط ۲۵۰: | ||
if imageArgs.data and | if imageArgs.data and | ||
imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then | imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then | ||
has_rows = true | has_rows = true | ||
local row = root:tag('tr') | local row = root:tag('tr') | ||
خط ۳۸۳: | خط ۳۸۳: | ||
if args.title then | if args.title then | ||
root:wikitext( | root:wikitext( | ||
'[[ | '[[رده:صفحههایی که از الگوهای جعبه اطلاعات جاسازیشده با پارامتر عنوان استفاده میکنند]]' | ||
) | ) | ||
end | end | ||
elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then | elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then | ||
root:wikitext('[[ | root:wikitext('[[رده:مقالههایی که از الگوهای جعبه اطلاعات بدون ردیفهای داده استفاده میکنند]]') | ||
end | end | ||
end | end | ||
خط ۴۹۱: | خط ۴۹۱: | ||
local function preprocessArgs(prefixTable, step) | local function preprocessArgs(prefixTable, step) | ||
if type(prefixTable) ~= 'table' then | if type(prefixTable) ~= 'table' then | ||
error(" | error("مقدار غیر جدولی برای جدول پیشوند شناسایی شد", 2) | ||
end | end | ||
if type(step) ~= 'number' then | if type(step) ~= 'number' then | ||
error(" | error("مقدار نامعتبر برای مرحله شناسایی شد", 2) | ||
end | end | ||
خط ۵۰۱: | خط ۵۰۱: | ||
if type(v) ~= 'table' or type(v.prefix) ~= "string" or | if type(v) ~= 'table' or type(v.prefix) ~= "string" or | ||
(v.depend and type(v.depend) ~= 'table') then | (v.depend and type(v.depend) ~= 'table') then | ||
error(' | error('ورودی نامعتبر برای جدول پیشوند preprocessArgs شناسایی شد', 2) | ||
end | end | ||
preprocessSingleArg(v.prefix) | preprocessSingleArg(v.prefix) | ||
خط ۵۰۹: | خط ۵۰۹: | ||
for j, dependValue in ipairs(v.depend) do | for j, dependValue in ipairs(v.depend) do | ||
if type(dependValue) ~= 'string' then | if type(dependValue) ~= 'string' then | ||
error(' | error('مقدار نامعتبر برای پارامتر «depend» در تابع preprocessArgs شناسایی شد') | ||
end | end | ||
preprocessSingleArg(dependValue) | preprocessSingleArg(dependValue) |