۹٬۴۵۵
ویرایش
جز (۱ نسخه واردشده) |
Wikinoor.ir (بحث | مشارکتها) جز (۱ نسخه واردشده) |
||
| (۳ نسخهٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشد) | |||
| خط ۱: | خط ۱: | ||
local libUtil = require('libraryUtil') | local libUtil = require('libraryUtil') | ||
local checkType = libUtil.checkType | local checkType = libUtil.checkType | ||
| خط ۲۱: | خط ۱۷: | ||
local data = {} | local data = {} | ||
-- Classes | -- Classes and TemplateStyles | ||
data.classes = {} | data.classes = {} | ||
data.templatestyles = '' | |||
if listType == 'horizontal' or listType == 'horizontal_ordered' then | if listType == 'horizontal' or listType == 'horizontal_ordered' then | ||
table.insert(data.classes, 'hlist') | table.insert(data.classes, 'hlist') | ||
data.templatestyles = mw.getCurrentFrame():extensionTag{ | |||
name = 'templatestyles', args = { src = 'Hlist/styles.css' } | |||
} | |||
elseif listType == 'unbulleted' then | elseif listType == 'unbulleted' then | ||
table.insert(data.classes, 'plainlist') | table.insert(data.classes, 'plainlist') | ||
data.templatestyles = mw.getCurrentFrame():extensionTag{ | |||
name = 'templatestyles', args = { src = 'Plainlist/styles.css' } | |||
} | |||
end | end | ||
table.insert(data.classes, args.class) | table.insert(data.classes, args.class) | ||
| خط ۳۸: | خط ۴۱: | ||
indent = indent and indent * 1.6 or 0 | indent = indent and indent * 1.6 or 0 | ||
if indent > 0 then | if indent > 0 then | ||
data.marginLeft = indent .. 'em' | |||
data. | |||
end | end | ||
end | end | ||
| خط ۸۹: | خط ۹۱: | ||
data.itemStyle = args.item_style or args.li_style | data.itemStyle = args.item_style or args.li_style | ||
data.items = {} | data.items = {} | ||
for | for _, num in ipairs(mTableTools.numKeys(args)) do | ||
local item = {} | local item = {} | ||
item.content = args[num] | item.content = args[num] | ||
| خط ۱۱۲: | خط ۱۱۴: | ||
-- Render the main div tag. | -- Render the main div tag. | ||
local root = mw.html.create('div') | local root = mw.html.create('div') | ||
for | for _, class in ipairs(data.classes or {}) do | ||
root:addClass(class) | root:addClass(class) | ||
end | end | ||
root:css{['margin- | root:css{['margin-left'] = data.marginLeft} | ||
if data.style then | if data.style then | ||
root:cssText(data.style) | root:cssText(data.style) | ||
| خط ۱۳۳: | خط ۱۳۵: | ||
-- Render the list items | -- Render the list items | ||
for | for _, t in ipairs(data.items or {}) do | ||
local item = list:tag('li') | local item = list:tag('li') | ||
if data.itemStyle then | if data.itemStyle then | ||
| خط ۱۴۶: | خط ۱۴۸: | ||
end | end | ||
return tostring(root) | return data.templatestyles .. tostring(root) | ||
end | end | ||
| خط ۱۶۰: | خط ۱۶۲: | ||
local ret = '' | local ret = '' | ||
if isDeprecated then | if isDeprecated then | ||
ret = ret .. '[[ | ret = ret .. '[[Category:List templates with deprecated parameters]]' | ||
end | end | ||
return ret | return ret | ||
| خط ۱۶۸: | خط ۱۷۰: | ||
if not listType or not listTypes[listType] then | if not listType or not listTypes[listType] then | ||
error(string.format( | error(string.format( | ||
" | "bad argument #1 to 'makeList' ('%s' is not a valid list type)", | ||
tostring(listType) | tostring(listType) | ||
), 2) | ), 2) | ||
| خط ۱۸۲: | خط ۱۸۴: | ||
p[listType] = function (frame) | p[listType] = function (frame) | ||
local mArguments = require('Module:Arguments') | local mArguments = require('Module:Arguments') | ||
local origArgs = mArguments.getArgs(frame) | local origArgs = mArguments.getArgs(frame, { | ||
valueFunc = function (key, value) | |||
if not value or not mw.ustring.find(value, '%S') then return nil end | |||
if mw.ustring.find(value, '^%s*[%*#;:]') then | |||
return value | |||
else | |||
return value:match('^%s*(.-)%s*$') | |||
end | |||
return nil | |||
end | |||
}) | |||
-- Copy all the arguments to a new table, for faster indexing. | -- Copy all the arguments to a new table, for faster indexing. | ||
local args = {} | local args = {} | ||