پودمان:Zendegi: تفاوت میان نسخهها
ظاهر
zendegi |
حمید گلزار (بحث | مشارکتها) بدون خلاصۀ ویرایش |
||
| خط ۱: | خط ۱: | ||
local fgetFAlist = require('Module:zendegi/Selected').getFAlist | local fgetFAlist = require('Module:zendegi/Selected').getFAlist | ||
local fgetFPlist = require('Module:zendegi/ | local fgetFPlist = require('Module:zendegi/درگاهها').getFPlist | ||
local a = {} | local a = {} | ||
| خط ۱۰: | خط ۱۰: | ||
d = fgetFAlist() | d = fgetFAlist() | ||
return #d | return #d | ||
elseif (frame.args[1] =='fp' or frame.args[1] ==' | elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then | ||
d = fgetFPlist() | d = fgetFPlist() | ||
local nb =0 | local nb =0 | ||
| خط ۵۳: | خط ۵۳: | ||
c = c .. "\n# [[" .. s .. "]]" | c = c .. "\n# [[" .. s .. "]]" | ||
end | end | ||
elseif (frame.args[1] =='fp' or frame.args[1] ==' | elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then | ||
d = fgetFPlist() | d = fgetFPlist() | ||
for t,s in pairs(d) do | for t,s in pairs(d) do | ||
| خط ۶۳: | خط ۶۳: | ||
end | end | ||
---- | ---- | ||
---- _RandOne : | ---- _RandOne : نتیجه: نام تصادفی یک مقاله برگزیده/خوب | ||
local function _getOnepDay( frame ) | local function _getOnepDay( frame ) | ||
d = {} | d = {} | ||
| خط ۹۴: | خط ۹۴: | ||
nb = nb + 1 | nb = nb + 1 | ||
if(nb == x) then | if(nb == x) then | ||
return frame:expandTemplate{ title = ' | return frame:expandTemplate{ title = 'واژه روز', args = { s[1], s[2] } } | ||
end | end | ||
end | end | ||
elseif (frame.args[1] =='fp' or frame.args[1] ==' | elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then | ||
d = fgetFPlist() | d = fgetFPlist() | ||
local nbf=0 | local nbf=0 | ||
| خط ۱۰۹: | خط ۱۰۹: | ||
nb = nb + 1 | nb = nb + 1 | ||
if(nb == x) then | if(nb == x) then | ||
return frame:expandTemplate{ title = ' | return frame:expandTemplate{ title = 'درگاه روز منتخب/الگو', args = { s[1], s[2], t , s[3] } } | ||
end | end | ||
end | end | ||
| خط ۱۴۳: | خط ۱۴۳: | ||
if(frame.args[1] =='Selected' or frame.args[1] =='Good' ) then | if(frame.args[1] =='Selected' or frame.args[1] =='Good' ) then | ||
---- | ---- ابتدا بررسی میشود که مقالهای مختص این روز وجود داشته باشد | ||
dayList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Date') | dayList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Date') | ||
for date1, articles in pairs(dayList) do | for date1, articles in pairs(dayList) do | ||
| خط ۱۵۶: | خط ۱۵۶: | ||
end | end | ||
--- | --- جستجو برای مناسبت سالانه (یا سالگرد) | ||
monthList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Month/'..mw.getContentLanguage():formatDate('n')) | monthList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Month/'..mw.getContentLanguage():formatDate('n')) | ||
نسخهٔ ۲۹ مهر ۱۴۰۴، ساعت ۱۵:۲۲
توضیحات این پودمان میتواند در پودمان:Zendegi/توضیحات قرار گیرد.
local fgetFAlist = require('Module:zendegi/Selected').getFAlist
local fgetFPlist = require('Module:zendegi/درگاهها').getFPlist
local a = {}
function a.rnumber( frame )
d = {}
if (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
return #d
elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then
d = fgetFPlist()
local nb =0
for t,s in pairs(d) do
nb = nb+1
end
return nb
end
end
function a.rlist( frame )
d = {}
if(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
d = fgetGAlist()
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
end
math.randomseed( os.time() )
x = math.random(1,#d)
repeat
x1 = math.random(1,#d)
until x1 ~= x
repeat
x2 = math.random(1,#d)
until (x2 ~= x and x2 ~= x1)
return "[["..d[x1].."]] – [["..d[x].."]] – [["..d[x2].."]]"
end
function a.plist(frame)
local c = ''
local d = {}
if(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
d = fgetGAlist()
for _,s in ipairs(d) do
c = c .. "\n# [[" .. s .. "]]"
end
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
for _,s in ipairs(d) do
c = c .. "\n# [[" .. s .. "]]"
end
elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then
d = fgetFPlist()
for t,s in pairs(d) do
c = c .. "\n# [[" ..t.."|".. s[3] .. "]]"
end
end
return c
end
----
---- _RandOne : نتیجه: نام تصادفی یک مقاله برگزیده/خوب
local function _getOnepDay( frame )
d = {}
math.randomseed( os.time() )
if (frame.args[1] =='dyk' or frame.args[1] =='learning' ) then
local nbf = mw.site.stats.pagesInCategory( 'Project list did you know', 'pages' )
if(type(nbf) ~= "number") then return '' end
---- x = math.random(1,nbf)
x = (math.floor(os.time()/(24*3600)) % nbf ) +1
return frame:expandTemplate{ title = 'Main page/Know/Current', args = { x } }
elseif (frame.args[1] =='fpic' or frame.args[1] =='Picture' ) then
d = fgetFPiclist()
local nbf=0
for t,s in pairs(d) do
nbf = nbf + 1
end
---- x = math.random(1,nbf)
x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
for t,s in pairs(d) do
nb = nb + 1
if(nb == x) then
return frame:expandTemplate{ title = 'Main page/Main/Right/Picture/Template', args = { t, s[1], s[2] } }
end
end
x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
for t,s in pairs(d) do
nb = nb + 1
if(nb == x) then
return frame:expandTemplate{ title = 'واژه روز', args = { s[1], s[2] } }
end
end
elseif (frame.args[1] =='fp' or frame.args[1] =='درگاهها' ) then
d = fgetFPlist()
local nbf=0
for title,items in pairs(d) do
nbf = nbf + 1
end
--- x = math.random(1,nbf)
x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
for t,s in pairs(d) do
nb = nb + 1
if(nb == x) then
return frame:expandTemplate{ title = 'درگاه روز منتخب/الگو', args = { s[1], s[2], t , s[3] } }
end
end
elseif(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
d = fgetGAlist()
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
end
---x = math.random(1,#d)
x = math.floor(os.time()/(24*3600)) % #d
return x --d[x]
end
local function _LCount( items )
local nb = 0
for _, item in ipairs(items) do
nb = nb +1
end
return nb
end
local function _OneDay( frame )
local dayList = {}
local monthList = {}
local articles = {}
local nbarts = 0
math.randomseed( os.time() )
if(frame.args[1] =='Selected' or frame.args[1] =='Good' ) then
---- ابتدا بررسی میشود که مقالهای مختص این روز وجود داشته باشد
dayList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Date')
for date1, articles in pairs(dayList) do
if( date1 == mw.getContentLanguage():formatDate('Y-n-d') ) then
nbarts = _LCount(articles)
if(nbarts == 1) then
return articles[1]
elseif nbarts > 1 then
return articles[math.random(1,nbarts) ]
end
end
end
--- جستجو برای مناسبت سالانه (یا سالگرد)
monthList = mw.loadData('Module:zendegi/'.. frame.args[1]..'/Month/'..mw.getContentLanguage():formatDate('n'))
articles = monthList[mw.getContentLanguage():formatDate('d')]
if(type(articles) ~= 'table') then
return ''
end
nbarts = _LCount(articles)
if(nbarts == 0) then
return ''
elseif nbarts == 1 then
return articles[1]
else
return articles[math.random(1,nbarts) ]
end
end
return ''
end
function a.selectArt(frame)
local title = _OneDay( frame )
if(title ~= '') then
return title
else
return _getOnepDay( frame )
end
end
----
----
return a